【发布时间】:2018-03-29 16:26:13
【问题描述】:
我将保持简短,这是程序-
class Sample{
private int n;
public void getDetails(){
Scanner y=new Scanner(System.in);
n=y.nextInt();
System.out.println("Entered 'n' = "+n);
}
public void displayDetails(){
int i,j;
int arr[]=new int[n];
Scanner x=new Scanner(System.in);
for(j=0;j<n;j++) {
arr[j] = x.nextInt();
System.out.println("Entered element = "+arr[j]);
}
System.out.println("Entered array: ");
for(i=0;i<n;i++)
System.out.print(arr[i]+" ");
}
}
public class TestClass {
public static void main(String[] args) {
Sample obj = new Sample();
obj.getDetails();
obj.displayDetails();
}
}
这个简单的程序只是将元素的数量(n)和数组的元素(arr[])作为不同方法的输入。 当输入以交互模式给出时,一切正常。这是控制台输出-
5
Entered 'n' = 5
1 2 3 4 5
Entered element = 1
Entered element = 2
Entered element = 3
Entered element = 4
Entered element = 5
Entered array:
1 2 3 4 5
但是当我将它作为标准输入输入(或一次所有输入)时,它只需要元素的数量(n)并忽略我的数组输入(arr [])。在这里,我不得不再次给出数组元素。控制台输出-
5
1 2 3 4 5Entered 'n' = 5
1
Entered element = 1
2
Entered element = 2
3 4 5
Entered element = 3
Entered element = 4
Entered element = 5
Entered array:
1 2 3 4 5
我不知道发生了什么。它是一个错误吗?请帮忙
【问题讨论】: