Java 无限循环不工作
代码在第一次通过时起作用。但在那之后,输出就不起作用了。 它的主要目标是创建一个无限循环,要求用户输入一个短语,然后是一个字母。然后,输出短语中字母出现的次数。 还有--我如何通过输入一个单词来打破这个循环Java 无限循环不工作,java,infinite-loop,Java,Infinite Loop,代码在第一次通过时起作用。但在那之后,输出就不起作用了。 它的主要目标是创建一个无限循环,要求用户输入一个短语,然后是一个字母。然后,输出短语中字母出现的次数。 还有--我如何通过输入一个单词来打破这个循环 Scanner in = new Scanner(System.in); for (;;) { System.out.println("Enter a word/phrase"); String sentence = in.nextLine(); int tim
Scanner in = new Scanner(System.in);
for (;;) {
System.out.println("Enter a word/phrase");
String sentence = in.nextLine();
int times = 0;
System.out.println("Enter a character.");
String letter = in.next();
for (int i = 0; i < sentence.length(); i++) {
char lc = letter.charAt(0);
char sc = sentence.charAt(i);
if (lc == sc) {
times++;
}
}
System.out.print("The character appeared:" + times + " times.");
}
Scanner-in=新的扫描仪(System.in);
对于(;;){
System.out.println(“输入单词/短语”);
字符串语句=in.nextLine();
整数倍=0;
System.out.println(“输入字符”);
字符串字母=in.next();
for(int i=0;i<句子长度();i++){
char lc=字母.charAt(0);
char sc=句子charAt(i);
if(lc==sc){
时代++;
}
}
System.out.print(“出现字符:“+times+”times.”);
}
如果需要无限循环,只需执行以下操作:
for(;;) { //or while(true) {
//insert code here
}
您可以使用break
语句中断循环,例如:
for(;;) {
String s = in.nextLine();
if(s.isEmpty()) {
break; //loop terminates here
}
System.out.println(s + " isn't empty.");
}
拆下for回路并用一段时间将其更换 while循环应该检查短语,当满足短语时,它将自动退出 大概是
while (!phraseToCheckFor){
// your code
}
这听起来像是家庭作业,所以我不会发布所有代码,但这应该足以让您开始。为了让程序正确运行,您需要使用最后一个新行字符。您可以通过向nextLine添加调用来实现这一点。 工作示例
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
for (;;) {
System.out.println("Enter a word/phrase");
String sentence = in.nextLine();
if (sentence.trim().equals("quit")) {
break;
}
int times = 0;
System.out.println("Enter a character.");
String letter = in.next();
for (int i = 0; i < sentence.length(); i++) {
char lc = letter.charAt(0);
char sc = sentence.charAt(i);
if (lc == sc) {
times++;
}
}
System.out.println("The character appeared:" + times + " times.");
in.nextLine();//consume the last new line
}
}
publicstaticvoidmain(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
对于(;;){
System.out.println(“输入单词/短语”);
字符串语句=in.nextLine();
if(句子.trim()等于(“退出”)){
打破
}
整数倍=0;
System.out.println(“输入字符”);
字符串字母=in.next();
for(int i=0;i<句子长度();i++){
char lc=字母.charAt(0);
char sc=句子charAt(i);
if(lc==sc){
时代++;
}
}
System.out.println(“出现字符:“+times+”times”);
in.nextLine();//使用最后一行新行
}
}
我不明白。什么时候你想让循环中断?而(true){if(success)break;}当用户输入“quit”作为短语/单词时,循环就会中断……读心术一直是我最差的技能之一。如果你想使用nextLine
和next
那么你可能应该阅读“不要给OP ready”代码。让他通过展示自己的错误而不是纠正错误来提高自己的编程能力。