Java I';我对这个特殊代码的输出有意见
这是代码:Java I';我对这个特殊代码的输出有意见,java,java.util.scanner,Java,Java.util.scanner,这是代码: import java.util.Scanner; public class javapractice { public static void main(String[] Args) { int XX = 0; int count = 0; Scanner input = new Scanner(System.in); while (true) {
import java.util.Scanner;
public class javapractice {
public static void main(String[] Args) {
int XX = 0;
int count = 0;
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Enter Number :");
int number = input.nextInt();
boolean nextint = input.hasNextInt();
if (nextint) {
count++;
XX += number;
} else {
break;
}
input.nextLine();
}
int YY = XX/count;
System.out.println("SUM = " + XX + " AVG = " + YY);
input.close();
}
}
int XX = 0;
int count = 0;
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Enter Number: ");
if (input.hasNextInt()) {
count++;
XX += input.nextInt();
} else {
break;
}
}
int YY = XX / count;
System.out.println("SUM = " + XX + " AVG = " + YY);
input.close();
我希望输出打印输入的数字的总和,当我输入时,让我们说一个像“Hello”这样的词,它会跳出循环并打印sum0
和AVG=0
我遇到的问题是,每当我输入一个数字时,它会向我索要两次,并且不会在之后的行中取下一个数字。每当我输入一个字符串变量,比如“I”,它就会输出Inputmismatch。解决这个问题的方法是什么?不要混合使用
nextLine()
和所有其他next
方法;挑一个。如果您想读取一行文字,只需调用next()
,但如果您想让输入以“用户每次点击enter时,读取另一个标记”的形式流动(通常这样做),请更新“定义标记的内容”的定义:scanner.usedimiter(“\r?\n”)
不要混合nextLine()
和所有其他next
方法;挑一个。如果您想读取一行文字,只需调用next()
,但如果您想让输入以“用户每次点击enter时,读取另一个标记”的形式流动(通常这样做),请更新“定义标记的内容”的定义:scanner.usedimiter(“\r?\n”)代码>尝试以下代码:
import java.util.Scanner;
public class javapractice {
public static void main(String[] Args) {
int XX = 0;
int count = 0;
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Enter Number :");
int number = input.nextInt();
boolean nextint = input.hasNextInt();
if (nextint) {
count++;
XX += number;
} else {
break;
}
input.nextLine();
}
int YY = XX/count;
System.out.println("SUM = " + XX + " AVG = " + YY);
input.close();
}
}
int XX = 0;
int count = 0;
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Enter Number: ");
if (input.hasNextInt()) {
count++;
XX += input.nextInt();
} else {
break;
}
}
int YY = XX / count;
System.out.println("SUM = " + XX + " AVG = " + YY);
input.close();
尝试以下代码:
import java.util.Scanner;
public class javapractice {
public static void main(String[] Args) {
int XX = 0;
int count = 0;
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Enter Number :");
int number = input.nextInt();
boolean nextint = input.hasNextInt();
if (nextint) {
count++;
XX += number;
} else {
break;
}
input.nextLine();
}
int YY = XX/count;
System.out.println("SUM = " + XX + " AVG = " + YY);
input.close();
}
}
int XX = 0;
int count = 0;
Scanner input = new Scanner(System.in);
while (true) {
System.out.println("Enter Number: ");
if (input.hasNextInt()) {
count++;
XX += input.nextInt();
} else {
break;
}
}
int YY = XX / count;
System.out.println("SUM = " + XX + " AVG = " + YY);
input.close();
仅仅通过查看代码我不知道答案,但我的直接建议是,不要忽略input.nextLine()
的返回值。这可能是在读取您不期望的部分输入;类以大写字母(JavaPractice)开头。明白了,我会解决这个问题。我不知道答案,只是通过查看代码,但我的直接建议是,不要忽略input.nextLine()的返回值。这可能是在读取您不期望的部分输入;类以大写字母开始(JavaPractice)。明白了,我们会处理这个问题。