用JAVA编写一个程序,判断一个字符串中有几个单词。再输出A-Z,a-z。输出见问题补充

输出结果:
hallo word
The number of words:2
A B C D E F G.......Z
a b c d e f g .......z
ps:
上面的是例子,hallo world如果换成别4个单词的,第2行的2就变成4了!
我是菜鸟,请大侠写完整点!输出单词的那个程序,我百度过了,但是都不能用!

输入是有空格分开的,所以直接用String.split方法分割,看看分成几份就可以了
至于字母表没什么好写的吧,那是死的东西。直接打印出来即可

public class Test {
public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
String string = scanner.nextLine();
System.out.println(string.split("\\s+").length);
}
}追问

能帮我再把下面的回答下吗?我追加分
在程序里输入随便输入一段英文字母!比如输入“hallo beijing ”2个单词,12个字母!
输出示范:
a=1,A=0,sum=1
b=1,B=0,sum=1


y=几个,Y=几个,sum=几个
z=几个,Z=几个,sum=几个
The number of words(总单词个数):2!

追答

public class Test {

public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
String string = scanner.nextLine();

int wordCount = string.split("\\s+").length;
int[] lowers = new int[26], uppers = new int[26];
for (char c : string.toCharArray()) {
try {
if (Character.isLowerCase(c))
++lowers[c - 'a'];
else if (Character.isUpperCase(c))
++uppers[c - 'A'];
} catch (Exception e) {}
}

for (int i = 0; i < 26; ++i) {
System.out.printf("%c=%d, %c=%d, sum=%d\n",
'a' + i, lowers[i], 'A' + i, uppers[i],
lowers[i] + uppers[i]);
}
System.out.println("number of words: " + wordCount);

}

}

追问

是在Test.java中输入字母和单词,
不是在cmd中输入!
麻烦你了

追答

Test.java是一个java程序,什么叫在Test.java中输入?

追问

就是在你上面给的那段代码里面,就把那个字母和单词输入,然后在cmd中运行的时候,就直接出来结果了,但是字母和单词不在cmd中输出

追答

那就把scanner那行去掉,把string直接赋值成你想要的字符串就好了

追问

还有第二个问题:
就是把算式10+7*2-3*7/ 3+10-2=25用java变成10 7 2*+3 7*3/ -10+2- =25
可能用到algorithm(互除法;演算法;规则系统)
输出结果就是:
10+7*2-3*7/ 3+10-2=25
10 7 2*+3 7*3/ -10+2- =25
太麻烦你了,好了,我把分全给你

追答

表示我不会写这程序....互除法;演算法;规则系统...这不知道是何物....

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-05
根据空格来判断几个单词,用字符串的String.split方法来分割
相似回答