将char连接到循环中的字符串?

时间:2017-09-25 20:15:02

标签: java

所以我正在努力做标题所说的,但是我很难让我的代码将字符连接到不同的字符串。到目前为止,我已经让它循环遍历每个角色并将其移位+1,因此“a”变为“b”。每当我尝试将char变量c连接到字符串变量时,它就会抛出一个错误,说它无法将char转换为字符串。

Scanner input = new Scanner(System.in);
char c;
String finish = "";
System.out.print("Text me: ");
String text = input.next();
String lowercase = text.toLowerCase();

for (int i = 0; i < lowercase.length(); i++){

    c = lowercase.charAt(i);
    System.out.println(++c);

}
System.out.println(finish);
System.out.println(lowercase);

任何提示?

感谢。

2 个答案:

答案 0 :(得分:0)

我是个白痴。所以最初我试图使用.concat()方法将char c连接到循环的每次迭代的字符串完成。它看起来像finish = finish.concat(c);它导致了一个错误,说我无法将char转换为字符串。

然后我把它改成了这个。

import java.util.Scanner;

Scanner input = new Scanner(System.in);
char c;
String finish = "";
System.out.print("Text me: ");
String text = input.next();
String lowercase = text.toLowerCase();

for (int i = 0; i < lowercase.length(); i++){
  c = lowercase.charAt(i);
  System.out.println(++c);
  finish = finish + c;
}
System.out.println(finish);

我做的唯一更改是添加最后一行finish = finish + c;在循环结束时删除打印字符串小写的末尾的位。

此外,我还没有弄清楚格式/礼节,所以如果我做的事情看起来很难或没有意义,我会道歉。

答案 1 :(得分:0)

也许您应该查看Stringbuilder,我认为这会更好地满足您的需求。

另请注意,请使用input.close()

关闭扫描仪