我正在制作文件输入和文本输出代码。
我包含了input.txt,文本内容就像下面
4
100 Watched
2 Key holders
3 Stamps
30 Data structure textbooks
//entered between every number
我想输出的结果是“密钥持有人”
但在我的代码中,输出为“ Key”
我不知道如何在密钥旁边打印“ holders”一词。
当然,我认为原因是因为在看到每个“”时都将单词拼接在一起。那么,如何只用两个分区(由整数和右侧组成)来分割字符串呢?
import java.io.BufferedReader;
import java.io.FileReader;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane.MaximizeAction;
public class Assignment11 {
public static void main(String[] args) {
try {
BufferedReader in = new BufferedReader(new FileReader("input.txt"));
String entryString;
entryString = in.readLine();
int entryNum = Integer.valueOf(entryString);
int min = Integer.MAX_VALUE;
String result = null;
for(int i = 0; i < entryNum; i++){
String temp;
temp = in.readLine();
String entry[] = temp.split(" ");
int price = Integer.parseInt(entry[0]);
if(price < min){
min = price;
result = entry[1];
}
}
System.out.println(result);
in.close();
} catch (Exception e) {
System.err.println(e);
System.exit(1);
}
}
}
最佳答案
String.split()具有一个重载,该重载限制了将字符串分成多少部分。在这种情况下,您只需要;
temp.split(" ", 2)