从控制台读取int

cha*_*tty 5 java arrays string int

如何在java中将String数组转换为int数组?我正在String从控制台读取一个整数字符流到一个数组中

BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
for(c=0;c<str.length;c++) 
    str[c] = br.readLine();
Run Code Online (Sandbox Code Playgroud)

在哪里str[]键入字符串.我想比较str[]内容...不能在字符上执行(错误)因此我想int从控制台读取.这可能吗?

Pra*_*rav 12

Integer.parseInt(String); 是你想要的东西.


试试这个:

int[] array = new int[size];
    try {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        for (int j = 0; j < array.length ; j++) {
                int k = Integer.parseInt(br.readLine());
                array[j] = k;
        }
     }

    catch (Exception e) {
            e.printStackTrace();
     }
Run Code Online (Sandbox Code Playgroud)

无论如何,你为什么不使用Scanner?如果您使用Scanner,它会更容易.:)

int[] array = new int[size];
    try {
        Scanner in = new Scanner(System.in); //Import java.util.Scanner for it
        for (int j = 0; j < array.length ; j++) {
                int k = in.nextInt();
                array[j] = k;
        }
     }
     catch (Exception e) {
            e.printStackTrace();
     }
Run Code Online (Sandbox Code Playgroud)


car*_*tor 7

int x = Integer.parseInt(String s);
Run Code Online (Sandbox Code Playgroud)


Rus*_*aul 7

使用扫描仪要快得多,因此效率更高.此外,它不需要您使用缓冲流进行输入的麻烦.这是它的用法:

java.util.Scanner sc = new java.util.Scanner(System.in);  // "System.in" is a stream, a String or File object could also be passed as a parameter, to take input from

int n;    // take n as input or initialize it statically
int ar[] = new int[n];
for(int a=0;a<ar.length;a++)
  ar[a] = sc.nextInt();
// ar[] now contains an array of n integers
Run Code Online (Sandbox Code Playgroud)

另请注意,nextInt()函数可以抛出此处指定的3个异常.别忘了处理它们.