如何在 JAVA 中将多个 int 用户输入存储到 STACK 中
How to Store multiple int user input in one into STACK in JAVA
我对编程还很陌生,我不确定自己在做什么。我正在创建一个程序,允许我们的用户在一行中输入多个 int 值并将其存储到堆栈。
例如
输入数字:1 2 3 4 5 6
但是我发现唯一的扫描仪只能得到第一个数字。我怎样才能在一行中获取所有数字并将其存储在堆栈中。
到目前为止,这是我的代码
import java.util.Scanner;
import java.util.Stack;
public class StackPractice {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of elements to place on the stack [1-10]:");
int stackSize = sc.nextInt();
Stack <Integer> stack = new Stack<>();
System.out.println("Enter " + stackSize + " element(s):");
for( int i = 0; i < stackSize;i++){
while(sc.hasNextInt() && i < stackSize){
stack.push(sc.nextInt());
int number = sc.nextInt();
stack.push(number);
}
}
System.out.println(stack);
}
}
你的问题在于你的 while 循环,而且 for 循环是不必要的。我对您的代码做了一些更改。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of elements to place on the stack [1-10]:");
int stackSize = sc.nextInt();
Stack <Integer> stack = new Stack<>();
System.out.println("Enter " + stackSize + " element(s):");
int i = 0;
while(i < stackSize){
int number = sc.nextInt();
stack.push(number);
i++;
}
System.out.println(stack);
}
输出
Enter the number of elements to place on the stack [1-10]:
4
Enter 4 element(s):
4 3 3 4
[4, 3, 3, 4]
我对编程还很陌生,我不确定自己在做什么。我正在创建一个程序,允许我们的用户在一行中输入多个 int 值并将其存储到堆栈。
例如
输入数字:1 2 3 4 5 6
但是我发现唯一的扫描仪只能得到第一个数字。我怎样才能在一行中获取所有数字并将其存储在堆栈中。
到目前为止,这是我的代码
import java.util.Scanner;
import java.util.Stack;
public class StackPractice {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of elements to place on the stack [1-10]:");
int stackSize = sc.nextInt();
Stack <Integer> stack = new Stack<>();
System.out.println("Enter " + stackSize + " element(s):");
for( int i = 0; i < stackSize;i++){
while(sc.hasNextInt() && i < stackSize){
stack.push(sc.nextInt());
int number = sc.nextInt();
stack.push(number);
}
}
System.out.println(stack);
}
}
你的问题在于你的 while 循环,而且 for 循环是不必要的。我对您的代码做了一些更改。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of elements to place on the stack [1-10]:");
int stackSize = sc.nextInt();
Stack <Integer> stack = new Stack<>();
System.out.println("Enter " + stackSize + " element(s):");
int i = 0;
while(i < stackSize){
int number = sc.nextInt();
stack.push(number);
i++;
}
System.out.println(stack);
}
输出
Enter the number of elements to place on the stack [1-10]:
4
Enter 4 element(s):
4 3 3 4
[4, 3, 3, 4]