我正在制作文件输入和文本输出代码。
我包含了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)

10-04 11:18