在没有额外行的情况下初始化String

时间:2013-12-10 10:47:54

标签: java string

你知道如何在不创建额外行的情况下初始化字符串吗?我正在打印到输出文件。

public String speedUp(int MPH) {
    String output ="";
    if(!moving){
        output+="\tError: Train is not moving";
    }
    else{this.speed += MPH;}
    return output;
}

这就是我目前所拥有的,当我查看输出文件时,每次没有错误时我会得到一条额外的行。

以下是我目前的输出:

SPEEDUP 20

SLOWDOWN 5

以下是我调用该方法的方法。

out.println(speedup(MPH));

'out'被定义为我的印刷作家。

3 个答案:

答案 0 :(得分:1)

我猜您打印到每个speedUp结果的文件。

只有speedUp结果不为空时,您才能更改并打印到文件。

答案 1 :(得分:1)

你是如何打印字符串的?  如果您使用println,它将创建一个空行。如果你的String中有一个新的行字符,请使用print()。

答案 2 :(得分:0)

public String speedUp(int MPH) {    
    if(!moving){
        return "\tError: Train is not moving";
    }
    else
    {
      this.speed += MPH;
      return "";
    }
}

SpeedUP()的调用下忽略空字符串。

或者考虑重构代码以返回布尔值,一旦返回false,则将字符串写入文件,否则忽略它。或者如果列车没有移动你正在调用的mthode,并将异常消息写入文件,则抛出异常。