字符串获取错误的值

MrP*_*cil 1 java string stringbuilder

我正在尝试构建一个字符串,11 11但我面临的问题是我得到start以下字符串,98 11而不是11 11.

我该如何解决这个问题?

我感谢任何帮助.

Character number = newName.charAt(2); //here number is 1
Character numberBefore = newName.charAt(1); //here numberBefore is 1

try (PrintWriter writer = new PrintWriter(path+File.separator+newName);
    Scanner scanner = new Scanner(file)) {
  boolean shouldPrint = false;
  while (scanner.hasNextLine()) {
  String line = scanner.nextLine();

  if(numberBefore >0 ){
    String start= number+number+" "+number+number; //here start is `98 11`
  }
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 10

是的,这是由于相关性+.

这个:

String start= number+number+" "+number+number;
Run Code Online (Sandbox Code Playgroud)

有效地:

String start = (((number + number) + " ") + number) + number;
Run Code Online (Sandbox Code Playgroud)

所以你得到number + number(正在进行数字提升int),然后串联连接.

这听起来像你想要的:

String numberString = String.valueOf(number);
String start = numberString + numberString + " " + numberString + numberString;
Run Code Online (Sandbox Code Playgroud)

或者:

String start = String.format("%0c%0c %0c%0c", number);
Run Code Online (Sandbox Code Playgroud)