如何将Java中的Keyboard Input(int)传递给String?

时间:2012-03-04 16:52:37

标签: java keyboard-events

我有一个文本文件,其名称由制表符分隔。我需要在给定的输入数字处打印名称。就像我有

abc def ghi jkl mno

当用户输入2时,应该打印“def”。我做的是

import java.io.*;
import java.util.*;

public class NamesTab {
public static void main(String[] args) throws IOException {


        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        char ch;
                System.out.println("Enter the Number: ");
        ch=(char) br.read();
        System.out.println(ch);
        BufferedReader s = new BufferedReader(new FileReader("Ass1.txt"));      
        String c=s.readLine();
        String[] tokens = c.split("\t");
        System.out.println(tokens[1]);
}}

但我无法将"ch"传递给"tokens[ch]"。请帮帮我。

3 个答案:

答案 0 :(得分:1)

您可以将ch-'0'用于一位数字。

System.out.println(tokens[ch-'0']);

答案 1 :(得分:0)

我们可以假设ch总是指0到9之间的数字吗?如果是这样,ch - '0'应该可以解决问题。

答案 2 :(得分:0)

您试图在空格中提供一个Integer字符。我理解这个“应该”在java中工作,但为了安全起见,当你获得包含你想要的字符的String数组的索引时,将ch强制转换为int

System.out.println(tokens[(int)ch]);