有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java检测扫描程序是否没有下一个

我有以下文件,我将其用作测试:

id=1392
name=Nathan
gender=male
testempty=
testempty2=
zip=11111

我正在循环行并调用它们上的函数processLine(String line)来处理Strings

private String processLine(String line) {
    Scanner scanner = new Scanner(line);
    StringBuilder result = new StringBuilder();
    scanner.useDelimiter("=");

    if (scanner.hasNext()) {
        result.append(scanner.next());
        result.append(" , ");
        result.append(scanner.next());
        result.append(" , ");
    }

    return result.toString();
}

但是我如何检测是否没有下一个(比如在testempty)并执行result.append("empty , ")


共 (2) 个答案

  1. # 1 楼答案

    改变你的方法。如果结果尚未为空,则在追加值之前追加“:

    if (scanner.hasNext()) {
        if (!result.isEmpty()) {
         result.append(" , ");
        }
        result.append(scanner.next());
        result.append(" , ");
        result.append(scanner.next());
    }
    
  2. # 2 楼答案

    (我想这就是你想要的)

    换行:

    result.append(scanner.next());
    

    致:

    result.append(scanner.hasNext() ? scanner.next() : "empty");