如何让用户控制数组中的输入?
问题描述:
我有没有程序只允许用户输入一个号码如何让用户控制数组中的输入?
import java.util.Scanner;
public class ArrayEvenNumber {
public static void main (String[] args)
{
int i,x,a[] = new int[10];
Scanner input = new Scanner(System.in);
//user input
for(i=0;i<10;i++)
{
System.out.println("Enter Number :");
System.out.println("Enter -1 When Finished");
a[i] = input.nextInt();
//printing the data
System.out.println("The integers you've entered are : ");
for (i=0;i<a.length;i++)
System.out.println(a[i]);
}
System.out.println("Even Numbers are :-");
//showing the even numbers
for(i=0;i<10;i++)
{
x=a[i]%2;
if(x==0)
System.out.println(a[i]);
}
}
}
答
您只需要打印数据当您完成将在数据显示的数据的问题。
for(i=0;i<10;i++)
{
System.out.println("Enter Number :");
System.out.println("Enter -1 When Finished");
a[i] = input.nextInt();
}
//printing the data
System.out.println("The integers you've entered are : ");
for (i=0;i<a.length;i++)
System.out.println(a[i]);
另外,我注意到你的整个代码可以使用一些改进:
Scanner input = new Scanner(System.in);
System.out.println("Enter Number :");
System.out.println("Enter -1 When Finished");
int entered = 0;
int counter = 0;
while(counter < a.length) {
entered = input.nextInt();
if(entered == -1) break;
a[counter] = entered;
counter++;
}
System.out.println("The integers you've entered are : ");
for (i=0;i<a.length;i++)
System.out.println(a[i]);
}
你的第二个for循环,让您打印的数据是内你的第一个for循环。你基本上试图打印尚未输入的数据。 – MarGar 2014-09-21 20:41:50