【发布时间】:2021-08-13 03:06:07
【问题描述】:
我必须为以下问题编写一个程序:
我写了以下代码:
package secret_message;
import java.util.Scanner;
public class Secret_Message {
public static void main(String[] args) {
Scanner sc = new Scanner (System.in);
int lines, i, codenumber, k;
String code, codepart, codechar2;
char codecharacter1, codecharacter2;
lines = sc.nextInt();
codepart = "";
for (i = 1; i<=lines; i++)
{
code = sc.next();
codecharacter1 = code.charAt(0);
codecharacter2 = code.charAt(1);
codenumber = Character.getNumericValue(codecharacter1);
for (k=1; k<=codenumber; k++)
{
codechar2 = Character.toString(codecharacter2);
codepart = codepart + " " + codechar2;
}
System.out.println(codepart);
codepart = "";
}
}
}
当我在每一行的输入没有空格时(例如,如果我写“9+”而不是“9+”),它可以完美运行。但是,例如,在编写“9 +”时,我收到以下错误:“字符串索引超出范围”。我尝试将代码中的codecharacter2 = code.charAt(1); 更改为codecharacter2 = code.charAt(2); 和codecharacter2 = code.charAt(3);,但没有成功。我还尝试使用code.replaceAll("\\s", ""); 创建一个新变量,但这也会删除“9 +”中的“+”。
我知道包含空格只会产生细微的差别,但问题明确说明了需要它。因此,我将不胜感激有关如何解决此问题的任何帮助!
【问题讨论】:
标签: java whitespace symbols