我需要:
编写一个以10个整数作为输入的程序。程序将偶数整数放入一个名为evenList的数组中,将奇数整数放入一个名为oddList的数组中,将负整数放入一个名为negativeList的数组中。在输入所有整数后,程序显示三个数组的内容。
import java.util.Arrays;
import java.util.Scanner;
public class testsheeeyt {
public testsheeeyt() {
}
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int evenList[] = new int[10];
int oddList[] = new int[10];
int negativeList[] = new int[10];
int neg =0;
int odd = 0;
int even =0;
int x=0;
System.out.println("Enter number ");
for(x= 0;x<10;++x){
if(x%2 == 0 && x>0){
evenList[x] = scan.nextInt();
even++;
}
if(x%2 != 0){
oddList[x] = scan.nextInt();
odd++;
}if(x<0){
negativeList[x] = scan.nextInt();
neg++;
}
}
System.out.println("The list of negative numbers is :-");
for (x = 0; x < neg; x++)
{
System.out.println( negativeList[x]);
}
System.out.println("\nThe list of even numbers is :-");
for (x = 0; x < even; x++)
{
System.out.println( evenList[x]);
}
System.out.println("The list of odd numbers is :-");
for (x = 0; x < odd; x++)
{
System.out.println( oddList[x]);
}
System.exit(0);
}
}
它不会工作。帮助
答案 0 :(得分:0)
你需要检查输入数字而不是x。 像
for(x=0;x<10;++x){
int t = scan.nextInt();
if(t>=0){
if(t%2 == 0 ){
evenList[x] = t;
even++;
} else{
oddList[x] = t;
odd++;
}
}else {
negativeList[x] = t;
neg++;
}
}
答案 1 :(得分:0)
你将x
从1点翻到10点。
如果x
是奇数,即使它是偶数,你也将输入放入奇数阵列
如果x
是evev,即使它是偶数
您想获取输入并查看输入是奇数还是偶数。
答案 2 :(得分:0)
你正在用x迭代循环索引,你正在检查这个数字是偶数,奇数还是负数。如果我理解正确的问题,您需要处理输入数字。请尝试以下方法:
for(x= 0;x<10;++x){
int num = scan.nextInt();
if(num%2 == 0 && num>0){
evenList[x] = num;
even++;
}
else if(num%2 != 0){
oddList[x] = num;
odd++;
}else if(num<0){
negativeList[x] = num;
neg++;
}
}
答案 3 :(得分:0)
首先,我认为你希望你的输入循环看起来像这样 -
for (int x = 0; x < 10; ++x) {
System.out.println("Enter number: " + (x + 1));
int num = scan.nextInt(); // <-- get user input to
// test.
// Test for negative first.
if (num < 0) {
negativeList[neg++] = num;
} else {
// It isn't negative.
if (num % 2 == 0) {
// It is even.
evenList[even++] = num;
} else {
// It must be odd.
oddList[odd++] = num;
}
}
}
其次,这是输出的一种方法
// Are there any negative numbers?
if (neg > 0) {
System.out.println("The negative numbers are: ");
for (int x = 0; x < neg; x++) {
if (x != 0) {
// Add a comma between entries.
System.out.print(", ");
}
// Print the number at x (where x is 0 to neg).
System.out.print(negativeList[x]);
}
// Add a new line.
System.out.println();
}
打印数组的另一种方法(如果它们的大小正确)是使用Arrays#toString(int[]) -
System.out.println("The negative numbers are: " + Arrays.toString(negativeList));