日期:2014-05-20  浏览次数:20629 次

这程序该怎么改正,求指导。
// ********************************************************** 
// Count.java 
// 
// This program reads in strings (phrases) and counts the  
// number of blank characters and certain other letters 
// in the phrase. 
// ********************************************************** 
 
import java.util.Scanner; 
 
public class Count 

  public static void main (String[] args) 
  { 
  String phrase; // a string of characters 
  int countBlank; // the number of blanks (spaces) in the phrase  
  int length,i; // the length of the phrase 
  char ch; // an individual character in the string 
 
  Scanner scan = new Scanner(System.in); 
 
  // Print a program header 
  //System.out.println (); 
  System.out.println ("Character Counter"); 
  //System.out.println (); 
 
  // Read in a string and find its length 
  System.out.print ("Enter a sentence or phrase: "); 
  phrase = scan.nextLine(); 
  length = phrase.length();

  // Initialize counts 
  countBlank = 0; 
 
  // a for loop to go through the string character by character
  for(i = 0;i <= length ;i++)
  {
  if(phrase.charAt(i) == ' ') {
  countBlank++;
  }
  }
  System.out.println (countBlank);
  } 
}

------解决方案--------------------
Java code

for(i = 0;i < length ;i++)
  {
  if(phrase.charAt(i) == ' ') {
  countBlank++;
  }
  }

------解决方案--------------------
上楼正确从0开始 或者for(i=0;i<=length-1;i++)
------解决方案--------------------
java的下标是从0 --> (长度 -1) ;