Java 如何在不询问他想输入的输入数的情况下从键盘获取输入
我已经尝试编写代码,其中代码在读取数字42后停止处理输入。输入的所有数字都是整数。在这段代码中,用户被要求给出他想要输入的数字。但是,如果不询问用户想要输入多少数字,我就不知道如何获取输入Java 如何在不询问他想输入的输入数的情况下从键盘获取输入,java,input,keyboard,Java,Input,Keyboard,我已经尝试编写代码,其中代码在读取数字42后停止处理输入。输入的所有数字都是整数。在这段代码中,用户被要求给出他想要输入的数字。但是,如果不询问用户想要输入多少数字,我就不知道如何获取输入 import java.util.Scanner; public class antarahac { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int
import java.util.Scanner;
public class antarahac {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int pattern[] = new int[1];
pattern[0] = 42;
int max, ls, lp = 1;
System.out.println("enter the no. of values you want to enter");
ls = sc.nextInt();
int input[] = new int[ls];
for (int i = 0; i < ls; i++) {
input[i] = sc.nextInt();
}
max = ls - lp - 1;
boolean flag;
for (int i = 0; i < max; i++) {
flag = true;
for (int j = 0; j < lp && flag == true; j++) {
if (pattern[j] != input[j + i]) {
flag = false;
System.out.println("" + input[i]);
}
}
if (flag == true) {
break;
}
}
}
}
import java.util.Scanner;
安塔拉哈克公务舱{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int-pattern[]=新int[1];
模式[0]=42;
int max,ls,lp=1;
System.out.println(“输入要输入的值的数量”);
ls=sc.nextInt();
整数输入[]=新整数[ls];
对于(int i=0;i
您只需使用循环,直到获得所需的值。当用户输入42
时,您提到停止:
int tmp;
while((tmp = sc.nextInt()) != 42){
// do something
}
这将读取输入,直到输入42
Scanner sc = new Scanner(System.in);
int tmp;
while((tmp = sc.nextInt()) != 42){
System.out.println(tmp);
}
sc.close();
输入:
1,2,3,5,48,42
输出:
12
3
5
四十八 更多信息 现在,如果要存储这些,如果使用数组,则需要创建一个具有足够空间(风险)的数组,如:
newint[1000]
或者您可以使用列表
来使用动态大小的集合。如果您不知道,只需知道要创建列表
,您只需要:
List<Integer> input = new ArrayList<>(); //int[] input = new int[####];
和读取值(获取):
然后,我注意到您使用了ls
,在数组大小之前,您可以使用size()
方法知道列表中添加了多少值:
而(!input.equals(“endInput”))就是一个例子。if(flag==true)可以重写为if(flag)(不太可能包含类型错误int-input;while((input=sc.nextInt())!=42)
,但是您需要在不知道数组大小的情况下声明数组,或者学习如何使用列表。PS:为什么对模式使用1个单元格的数组?
input.add(i); //input[index] = i;
input.get(index); // input[index]
ls = input.size();