[英]BlueJ - My program compiles with no errors but doesn't run
您好,我遇到了一个程序,该程序应该接收一个字符串,然后使用Character Wrapper类将每个单词的首字母大写。
import java.util.*;
public class wrapper
{
public static void main(String[] args)
{
Scanner input= new Scanner(System.in);
String s1;
s1=input.nextLine();
s1= s1.trim();
int howLong= s1.length();
int i;
int counter=0;
char cho;
for(counter=1; counter<= howLong+1; counter++)
{
cho=s1.charAt(counter);
if(Character.isLetter (cho) && ! Character.isLetter(s1.charAt(counter-1)))
{
System.out.print( Character.toUpperCase(cho) );
}
else
{
System.out.print(cho);
}
System.out.println();
}
}
}
到目前为止,这是程序,但是根据BlueJ编译时没有错误,但它没有运行。 关于为什么会发生这种情况的任何帮助都将是巨大的。
编辑:将该程序更改为我认为将使它不仅打印出char变量已初始化为的空格,而且仍然无法运行。 循环可能有问题吗?
您的程序编译但无法运行的原因是因为行s1=input.nextLine();
。 在这一行,程序正在等待来自用户的输入以用作字符串s1
,但并未显示终端,以便用户提供此类输入。 解决此问题的一种方法是强制终端在该行之前显示自己。 我建议您将类似
System.out.println("Enter input:");
在此行之前,以便终端将显示自己并且用户可以在其中输入输入。 从那里,您可以像往常一样处理该程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.