在Java8中从控制台读取文本
我在控制台中有两行,一行是数组大小,第二行是数组中的元素,元素按空间分割。 我需要将这些元素作为整数读取,并将其作为一个数组(如getInput(int[]nums))传递给函数 如何在Java8中使用缓冲读取器实现这一点 我已经尝试了下面的代码,但它不是我所期望的在Java8中从控制台读取文本,java,java-8,Java,Java 8,我在控制台中有两行,一行是数组大小,第二行是数组中的元素,元素按空间分割。 我需要将这些元素作为整数读取,并将其作为一个数组(如getInput(int[]nums))传递给函数 如何在Java8中使用缓冲读取器实现这一点 我已经尝试了下面的代码,但它不是我所期望的 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLine());
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
System.out.println("Array Size:" + t);
int input[] = new int[t];
for (int i = 0; i < t; i++) {
input[i] = Integer.parseInt(br.readLine());
}
for (int i = 0; i < input.length; i++) {
System.out.println(input[i]);
}
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
int t=Integer.parseInt(br.readLine());
System.out.println(“数组大小:+t”);
int-input[]=新的int[t];
for(int i=0;i
为什么不用扫描仪呢?您可以使用Scanner.nextLine()
读取这两行。例如:
import java.util.*;
public class ScannerClassExample {
public static void main(String args[]){
//Make a new Scanner reading the System input
Scanner scanner = new Scanner(System.in);
//Read the first line
String arraySize = scanner.nextLine();
//Read the elements and split on spaces
String elementsLine = scanner.nextLine();
String[] elements = elementsLine.split(" ");
//If you want them to be integers, you could use this
int[] intElements = new int[elements.length];
for (int i = 0; i < elements.length; i++) {
intElements[i] = Integer.parseInt(elements[i]);
}
scanner.close();
}
}
import java.util.*;
公共类ScannerClassExample{
公共静态void main(字符串参数[]){
//使新扫描仪读取系统输入
扫描仪=新的扫描仪(System.in);
//读第一行
String arraySize=scanner.nextLine();
//阅读元素并在空格上拆分
String elementsLine=scanner.nextLine();
String[]elements=elementsLine.split(“”);
//如果希望它们是整数,可以使用
int[]元素=新的int[elements.length];
for(int i=0;i
如果使用此选项,我还建议使用scanner.hasNext()
。寻找一些关于这方面的例子
希望这能有所帮助。你试过什么了吗?具体在哪里?要从包含5个由空格分隔的值的行中获取单个int值,需要将该行读入字符串,将其拆分为单个标记,然后将这些标记解析为它们的int值。BufferedReader类对于从输入中获取单个令牌没有用处。Scanner类提供了一些有用的方法。“这不是我所期望的”-你也可以与我们分享结果,然后解释预期的结果吗?@NormR同意。我只想提一下,您仍然可以使用它逐行阅读,然后使用
String#split
拆分该行。我是java新手,为什么会被否决:(
import java.util.*;
public class ScannerClassExample {
public static void main(String args[]){
//Make a new Scanner reading the System input
Scanner scanner = new Scanner(System.in);
//Read the first line
String arraySize = scanner.nextLine();
//Read the elements and split on spaces
String elementsLine = scanner.nextLine();
String[] elements = elementsLine.split(" ");
//If you want them to be integers, you could use this
int[] intElements = new int[elements.length];
for (int i = 0; i < elements.length; i++) {
intElements[i] = Integer.parseInt(elements[i]);
}
scanner.close();
}
}