首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java简单程序解决思路

2012-02-01 
java简单程序输入一个字符串,计算当中字符a的个数import java.util.Scannerpublic class TestScanner {pu

java简单程序
输入一个字符串,计算当中字符a的个数


import java.util.Scanner;

public class TestScanner {
public static void main(String[] args) {
System.out.println("请输入一串字符:");
Scanner sc=new Scanner(System.in);
String sss=sc.toString();
int count=0;
char c[]=sss.toCharArray();
for (int i = 0; i < c.length; i++) {
if(c[i]=='a'){
count++;
}
}
System.out.println("字符a的个数是"+count);
}
}

很奇怪呀,我还没有输入,就出结果了,我的运行结果是:
请输入一串字符:
字符a的个数是20


大家帮我看看啊。。。。。。。O(∩_∩)O~ 谢谢


[解决办法]
import java.util.Scanner;

public class Lesson2 {
public static void main(String[] args) {
 System.out.println("请输入一串字符:");
 Scanner in=new Scanner(System.in);
 String sc=in.next();
 String sss=sc.toString();
 int count=0;
 char c[]=sss.toCharArray();
 for (int i = 0; i < c.length; i++) {
 if(c[i]=='a'){
 count++;
 }
 }
 System.out.println("字符a的个数是"+count);
}
}
这是正确的代码,in是Scanner的对象,他来调用next()方法才可以进行输入

[解决办法]
你的sc是Scanner的对象 转换成字符串的时候就成了
java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match valid=false][need input=false][source closed=false][skipped=false][group separator=\,][decimal separator=\.][positive prefix=][negative prefix=\Q-\E][positive suffix=][negative suffix=][NaN string=\Q?\E][infinity string=\Q∞\E]

所以当然会出结果了,而且是20个a

用Scanner的时候应该实例化一个对象in 调用Scanner的方法 具体请参照API
[解决办法]
1楼!!!~~正解!~
[解决办法]
For example:

Java code
import java.util.Scanner;public class TestScanner {     public static void main(String[] args) {          System.out.println("请输入一串字符:");     Scanner sc=new Scanner(System.in);     //String sss=sc.toString();     String sss=sc.nextLine(); //here 把 toString();改成 nextLine();  即可     int count=0;     char c[]=sss.toCharArray();          for (int i = 0; i < c.length; i++)      {         if(c[i]=='a')         {             count++;         }     }     System.out.println("字符a的个数是"+count);    }} 

热点排行