我想这样输出
我的编译器不会在我使用netbeans和apache的代码中提示错误
当我把多少数字
public class NewClass
{
public static void main(String[] args)
{
int n = 0;
int EvenNo;
int OddNo;
Scanner sc = new Scanner(System. in);
System.out.println("How many numbers will be entered?");
n = sc.nextInt();
int a[]=new int[n];
//I think Im missing some code here
System.out.println("Enter " + n + " Elements Separated by Space >> " );
String input;
input = sc. nextLine();
String[] tokens = input.split(" ");
int[] inputNumbers = new int[tokens.length];
EvenNo = OddNo = 0;
for(int i = 0; i < tokens.length; i++)
{
inputNumbers[i] = Integer.parseInt(tokens[i]);
if(inputNumbers[i] % 2 == 0 && inputNumbers[i] != 0)
EvenNo++;
else if(inputNumbers[i] % 2 != 0)
OddNo++;
}
System.out.print("\n");
System.out.println("The number of Even Numbers >> " + EvenNo);
System.out.print("The number of Odd Numbers >> " + OddNo);
}
}
2条答案
按热度按时间ix0qys7i1#
您应该使用将扫描仪输入的字符串格式转换为整数
Integer.parseInt()
```....
System.out.println("How many numbers will be entered?");
n = Integer.parseInt(sc.nextLine());
...
tv6aics12#
问题来了。你有这个。。。
…后面是这个。。。
长话短说,
nextLine()
和对方打得不好next***()
扫描器的方法。你可以在这里阅读更多信息-https://stackoverflow.com/a/13102066/10118965解决问题最简单的方法就是这样做
这可能是解决这个问题最不痛苦的方法了。但是在将来,如果你只使用
nextLine()
. 这些方便的方法很好,但正如你所见,如果你不知道它们的细微差别,它们会给你带来麻烦。