使用StringTokenizer输入5个整数

时间:2011-08-18 17:45:33

标签: java user-input

以下是部分代码。

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的语法。

2 个答案:

答案 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()方法的代码。