Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在循环中添加输出/字符串_Java_String_Loops_Output - Fatal编程技术网

Java 在循环中添加输出/字符串

Java 在循环中添加输出/字符串,java,string,loops,output,Java,String,Loops,Output,如何在循环中添加不同的字符串 我的例子是: 有一个Stern-Brocot树路径探测器。唯一的问题是它应该将输出作为一行。 完整代码: import java.io.*; import java.util.*; public class Main { public static void main(String[] args) { double p, q; Scanner in = new Scanner(System.in); int[] vars = new in

如何在循环中添加不同的字符串

我的例子是:

有一个Stern-Brocot树路径探测器。唯一的问题是它应该将输出作为一行。 完整代码:

import java.io.*;
import java.util.*;
public class Main {
  public static void main(String[] args) {
    double p, q;
    Scanner in = new Scanner(System.in);
    int[] vars = new int[2];
    for(int i = 0; i < vars.length; i++)
      vars[i] = in.nextInt();
    p = vars[0];
    q = vars[1];

  double p1 = 0 ;
  double p2 = 1 ;

  double q1 = 1 ;
  double q2 = 0 ;
  while( p1+p2 != p  && q1+q2 != q )
  {
      if (( p1+p2 )/ (q1+q2 ) < p / q) 
      {
          System.out.println("R");
          p1 += p2;
          q1 += q2;
      } 
      else if( ( p1+p2 ) / ( q1+q2 ) > p/q )
      {
          System.out.println("L");
          p2 += p1;
          q2 += q1;
      }
    }
  }
}

我想,在这里使用
System.out.print()
而不是
System.out.println()
是可行的

我想,使用
System.out.print()
而不是
System.out.println()
可以在这里工作

使用

在循环之前创建一个
StringBuilder
实例,并反复调用
append
方法来构造输出字符串。生成结果字符串后,调用
toString
以获取并打印最终结果

StringBuilder answerBuilder = new StringBuilder();
while( ... ) {
    ...
    answerBuilder.append("L");
    ...
    answerBuilder.append("R");
    ...
}
String answer = answerBuilder.toString();
保持
StringBuilder
优于边打印边打印的方法的一个优点是,您可以在打印之前返回并更改生成的字符串的开头或中间部分。

使用

在循环之前创建一个
StringBuilder
实例,并反复调用
append
方法来构造输出字符串。生成结果字符串后,调用
toString
以获取并打印最终结果

StringBuilder answerBuilder = new StringBuilder();
while( ... ) {
    ...
    answerBuilder.append("L");
    ...
    answerBuilder.append("R");
    ...
}
String answer = answerBuilder.toString();

保持
StringBuilder
而不是边打印边打印的方法的一个优点是,在打印之前,您可以返回并更改生成的字符串的开头或中间部分。

如果您想在最后得到答案,只需使用
StringBuilder
并附加显示的每个字符串,并在最后显示该字符串即可
StrigBuilder
变量。

如果您想在最后得到答案,只需使用
StringBuilder
并附加显示的每个字符串,最后只需显示此
StrigBuilder
变量

StringBuilder answerBuilder = new StringBuilder();
while( ... ) {
    ...
    answerBuilder.append("L");
    ...
    answerBuilder.append("R");
    ...
}
String answer = answerBuilder.toString();