以下是部分代码。
import java.io.*;
import java.util.*;
public class inputting {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int i,j;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter numbers??");
String str = br.readLine();
StringTokenizer tokenizer = new StringTokenizer(str);
j=Integer.parseInt(tokenizer);
}
}
现在我不知道StringTokenizer
会去哪里以及到目前为止我所做的事情是否正确。但基本上我希望用户要求5个整数,然后再说打印它。
如何从字符串中取出整数?如果有人可以为我完成代码,我真的很感激。
P.S。这不是一个功课问题,我正在学习面向对象的编程,而不是Java。所以我们的教授并不在乎完全教我们Java的语法。
答案 0 :(得分:2)
您可以使用StringTokenizer使用指定的分隔符将字符串分解为多个字符串(或标记)。
例如:
String sample = "1,2,3,4,5";
StringTokenizer tokenizer = new StringTokenizer(sample,",");
while(tokenizer.hasMoreTokens()) {
int convertedToInt = Integer.parseInt(tokenizer.nextToken());
}
注意:没有运行此命令,可能包含语法错误,但您明白了。
StringTokenizer JavaDoc:http://download.oracle.com/javase/1.4.2/docs/api/java/util/StringTokenizer.html
答案 1 :(得分:1)
您可能会发现使用字符串的split()方法更容易。
import java.io.*;
import java.util.*;
public class inputting {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
int i,j;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter numbers??");
String str = br.readLine();
String[] nums = str.split(" "); //returns an array of strings split based on the parameter
i = Integer.parseInt(nums[0]);
j = Integer.parseint(nums[1]);
}
}
这条线 J =的Integer.parseInt(标记生成器); 不会编译,StringTokenizer不是字符串。 J =的Integer.parseInt(tokenizer.nextToken()); 将编译,因为这是一个字符串,所以随意使用它而不是上面使用String类中的split()方法的代码。