Java,在我的代码中只有第一个for语句有效
刚开始学习Java和一般编程,我需要输入50个字符,计算和显示元音、辅音、数字和特殊字符。在我的元音的第一个for语句之后,它不再正常工作了,我不知道为什么它不工作,所以任何提示都会有帮助,谢谢Java,在我的代码中只有第一个for语句有效,java,loops,for-loop,Java,Loops,For Loop,刚开始学习Java和一般编程,我需要输入50个字符,计算和显示元音、辅音、数字和特殊字符。在我的元音的第一个for语句之后,它不再正常工作了,我不知道为什么它不工作,所以任何提示都会有帮助,谢谢 import java.util.Scanner; public class CharArray50 { static Scanner scanner = new Scanner(System.in); public static void main() { int z = 0;
import java.util.Scanner;
public class CharArray50 {
static Scanner scanner = new Scanner(System.in);
public static void main() {
int z = 0;
do {
String Str50 = "";
int Vowelsnum = 0;
int Consonantsnum = 0;
int Digitsnum = 0;
int SpecialCharnum = 0;
System.out.print("Input 50 Characters Max: ");
Str50 = scanner.nextLine();
Str50 = Str50.toLowerCase();
System.out.println("Characters: " + Str50);
System.out.print("Vowels: ");
for (int x = 0; x < Str50.length(); x++) {
char Char50 = Str50.charAt(x);
if ((Char50 == 'a')
|| (Char50 == 'e')
|| (Char50 == 'i')
|| (Char50 == 'o')
|| (Char50 == 'u')) {
Vowelsnum += 1;
System.out.print(" " + Char50);
}
}
System.out.println("\nNumber of Vowels: " + Vowelsnum);
System.out.print("Consonants: ");
for (int a = 0; a < Str50.length(); a++) {
char Char50 = Str50.charAt(a);
if ((Char50 == 'b')
|| (Char50 == 'c')
|| (Char50 == 'd')
|| (Char50 == 'f')
|| (Char50 == 'g')
|| (Char50 == 'h')
|| (Char50 == 'j')
|| (Char50 == 'k')
|| (Char50 == 'l')
|| (Char50 == 'm')
|| (Char50 == 'n')
|| (Char50 == 'p')
|| (Char50 == 'q')
|| (Char50 == 'r')
|| (Char50 == 's')
|| (Char50 == 't')
|| (Char50 == 'v')
|| (Char50 == 'w')
|| (Char50 == 'x')
|| (Char50 == 'y')
|| (Char50 == 'z'))
;
{
Consonantsnum += 1;
System.out.print(" " + Char50);
}
}
System.out.println("\nNumber of Consonants: " + Consonantsnum);
System.out.print("Digits: ");
for (int b = 0; b < Str50.length(); b++) {
char Char50 = Str50.charAt(b);
if ((Char50 == '0')
|| (Char50 == '1')
|| (Char50 == '2')
|| (Char50 == '3')
|| (Char50 == '4')
|| (Char50 == '5')
|| (Char50 == '6')
|| (Char50 == '7')
|| (Char50 == '8')
|| (Char50 == '9'))
;
{
Digitsnum += 1;
System.out.print(" " + Char50);
}
}
System.out.println("\nNumber of Digits: " + Digitsnum);
System.out.print("Special Characters: ");
for (int c = 0; c < Str50.length(); c++) {
char Char50 = Str50.charAt(c);
if ((Char50 == '~')
|| (Char50 == '`')
|| (Char50 == '!')
|| (Char50 == '@')
|| (Char50 == '#')
|| (Char50 == '$')
|| (Char50 == '%')
|| (Char50 == '^')
|| (Char50 == '&')
|| (Char50 == '*')
|| (Char50 == '(')
|| (Char50 == ')')
|| (Char50 == '-')
|| (Char50 == '_')
|| (Char50 == '+')
|| (Char50 == '=')
|| (Char50 == '{')
|| (Char50 == '}')
|| (Char50 == '[')
|| (Char50 == ']')
|| (Char50 == '|')
|| (Char50 == '/')
|| (Char50 == ':')
|| (Char50 == ';')
|| (Char50 == '"')
|| (Char50 == '<')
|| (Char50 == '>')
|| (Char50 == ',')
|| (Char50 == '.')
|| (Char50 == '?'))
;
{
SpecialCharnum += 1;
System.out.print(" " + Char50);
}
}
System.out.println("\nNumber of Special Characters: " + SpecialCharnum);
} while (z == 0);
}
}
import java.util.Scanner;
公共类字符50{
静态扫描仪=新扫描仪(System.in);
公共静态void main(){
int z=0;
做{
字符串Str50=“”;
int-vouelsnum=0;
int辅音snum=0;
int Digitsnum=0;
int SpecialCharnum=0;
系统输出打印(“最多输入50个字符:”);
Str50=scanner.nextLine();
Str50=Str50.toLowerCase();
System.out.println(“字符:+Str50”);
系统输出打印(“元音:”);
对于(int x=0;x
在if语句后面有分号:)这里有很多代码需要查看(请学习设置代码的格式!这有助于包括您在内的所有人阅读它!从一开始就学会正确使用它会带来好处),但立即跳出的是if
语句中的;
:if(something);{
:删除;
。啊,非常感谢@AndyTurner!很抱歉,我是新手,所以我甚至没有检查它的结果,我似乎没有在元音if语句中添加;,但在其他每个if语句中都添加了;。它现在起作用了。您可能想知道一个更简洁地检查字符是否在某些集合中的技巧,例如,对于元音:如果(“aeiou”.indexOf(Char50)>=0{…}
。哦,哇,谢谢你,这要简洁得多,我会记住的,谢谢你。