我有一个文本文件,其名称由制表符分隔。我需要在给定的输入数字处打印名称。就像我有
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]"
。请帮帮我。
答案 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]);