如何在java中将String
数组转换为int
数组?
我正在从控制台读取一个整数字符串到String
数组,
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
for(c=0;c<str.length;c++)
str[c] = br.readLine();
其中str[]
是String类型。
我想比较str[]
内容......不能对字符执行(错误)
因此我想从控制台阅读int
。这可能吗?
答案 0 :(得分: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();
}
无论如何,你为什么不使用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();
}
答案 1 :(得分:7)
int x = Integer.parseInt(String s);
答案 2 :(得分: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
另请注意,nextInt()
函数可以抛出指定here的3个异常。别忘了处理它们。