仅从包含System.out.print的方法中检索返回值

时间:2018-05-19 05:21:18

标签: java arrays random methods

如果该方法中还存在System.out.print,如何仅从方法中检索返回值。在下面的代码中,我将获得返回值,但每次调用方法时它都会执行System.out.print

public static void main(String[] args) {
    String name = pickAName("bob", "ed", "dan");
    System.out.printf(name);
}

public String pickAName (String...names){            
    System.out.printf("Randomly picking from %d names. %n",names.length);
    Random random = new Random();

    return names[random.nextInt(names.length)];
}

2 个答案:

答案 0 :(得分:3)

计算机并不聪明 - 他们只能做你告诉他们做的事情。在您的情况下,它会打到printf()的调用并在每次调用此方法时执行它。

如果您的任何情况想要打印到printf()的电话,那么您可以用if条件将其打包。

如果您永远不需要输出,那么只需完全删除该行。

如果您正在使用printf()的调用进行调试,请尝试习惯使用IDE的调试工具 - 从长远来看,它绝对会得到回报。特别是当你开始编写更复杂的程序时,或者你正在使用你没有写过的代码时。

答案 1 :(得分:0)

如果您无法控制该方法,则在调用pickAName方法时无法执行System.out.printf()行。通过控制,我的意思是你制作了pickAName方法或者可以改变它。