ArrayList扫描仪输入帮助Java
我试图编写一个代码,对给定的数字列表进行排序,并尝试使用ArrayList进行排序。我使用while循环来允许重复输入。这是我的代码:ArrayList扫描仪输入帮助Java,java,arraylist,Java,Arraylist,我试图编写一个代码,对给定的数字列表进行排序,并尝试使用ArrayList进行排序。我使用while循环来允许重复输入。这是我的代码: import java.util.Scanner; import java.util.ArrayList; public class sortinggg { public static Scanner keyboard = new Scanner(System.in); public static ArrayList<Integer&
import java.util.Scanner;
import java.util.ArrayList;
public class sortinggg {
public static Scanner keyboard = new Scanner(System.in);
public static ArrayList<Integer> number = new ArrayList<Integer>();
public static void main (String [] args) {
int count= 0;
System.out.println("Enter your numbers.");
while (keyboard.hasNextInt()); {
number.add(keyboard.nextInt());
}
import java.util.Scanner;
导入java.util.ArrayList;
公共类排序{
公共静态扫描仪键盘=新扫描仪(System.in);
public static ArrayList number=new ArrayList();
公共静态void main(字符串[]args){
整数计数=0;
System.out.println(“输入您的号码”);
while(keyboard.hasNextInt()){
number.add(keyboard.nextInt());
}
整数计数现在是不相关的,因为我只在对列表排序时使用它
问题是,在我输入数字后,即使我输入一个字符串(例如),程序也不会转到下一行代码。我在这里遗漏了什么吗
另外,我已经厌倦了查找以前在这个主题上提出的问题,但建议的解决方案都不适合我。提前感谢您的帮助!试试这个:
import java.util.ArrayList;
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner keyboard = new Scanner(System.in);
ArrayList<Integer> number = new ArrayList<Integer>();
System.out.println("Enter your numbers:");
while (keyboard.hasNextInt()) {
number.add(keyboard.nextInt());
}
}
}
import java.util.ArrayList;
导入java.util.Scanner;
公共班机
{
公共静态void main(字符串参数[])
{
扫描仪键盘=新扫描仪(System.in);
ArrayList编号=新的ArrayList();
System.out.println(“输入您的号码:”);
while(keyboard.hasNextInt()){
number.add(keyboard.nextInt());
}
}
}
修改:
while(keyboard.hasNextInt());
删除结尾的分号(;)
while loop
将继续向数组列表添加值,直到您提供int值。尝试以下操作:
import java.util.ArrayList;
import java.util.Scanner;
public class Main
{
public static void main(String args[])
{
Scanner keyboard = new Scanner(System.in);
ArrayList<Integer> number = new ArrayList<Integer>();
System.out.println("Enter your numbers:");
while (keyboard.hasNextInt()) {
number.add(keyboard.nextInt());
}
}
}
import java.util.ArrayList;
导入java.util.Scanner;
公共班机
{
公共静态void main(字符串参数[])
{
扫描仪键盘=新扫描仪(System.in);
ArrayList编号=新的ArrayList();
System.out.println(“输入您的号码:”);
while(keyboard.hasNextInt()){
number.add(keyboard.nextInt());
}
}
}
修改:
在while(keyboard.hasNextInt());
删除结尾的分号(;)
在这里,while loop
将继续向数组列表添加值,直到您提供int值。首先,while
之后的是错误的。它不允许您执行主体。那么您将如何跳过该循环。您可以要求最终用户输入一些特殊值并使用它打破循环。下面给出了正确的版本
public static void main(String[] args) {
int count = 0;
System.out.println("Enter your numbers or -1 to skip.");
while (keyboard.hasNextInt()) {
int num = keyboard.nextInt();
if (num == -1) {
break;
}
number.add(num);
}
System.out.println(number);
}
首先,;
紧跟在之后,而是错误的。它不允许您执行正文。那么您将如何跳过循环。您可以要求最终用户输入一些特殊值并使用它来打破循环。下面给出了更正的版本
public static void main(String[] args) {
int count = 0;
System.out.println("Enter your numbers or -1 to skip.");
while (keyboard.hasNextInt()) {
int num = keyboard.nextInt();
if (num == -1) {
break;
}
number.add(num);
}
System.out.println(number);
}
while(keyboard.hasNextInt());{
删除分号。分号结束循环正文。number.add(keyboard.nextInt());
位于不同的(非循环)块中。可能与@Elliott Frisch有重复之处!@elliottftish修复了它!感谢您的帮助,Java新手和一般的编码。while(keyboard.hasNextInt());{
删除分号。分号结束循环正文。number.add(keyboard.nextInt());
位于不同的(非循环)块中。可能与@Elliott Frisch有重复之处!@Elliottfitsch修复了它!感谢您的帮助,对Java和一般编码都是新手。。