您好我正在完成一项任务,而且我遇到了一些我希望有一点方向的问题...
目的是让用户输入一个短语并从该短语中创建一个首字母缩略词。超过三个单词的任何内容都将被忽略。
我遇到了首字母缩略词部分的问题,我能够获得第一个字符,并认为我会循环访问用户输入并在空格后抓取字符,但这不起作用。我得到的只是第一个角色,这是显而易见的,因为我首先抓住了这个角色,但我无法弄清楚如何保存"另外两个角色。非常感谢任何帮助。
********* UPDATE ************************ 所以,由于下面的答案,我在使用StringBuilder方面取得了进展。但是,现在如果我输入你的三个字"输出为:YYYYYYYYYYYYYYY 这是进步,但我无法理解为什么它会重复这些第一个字符这么多次? 我也编辑了代码。 ********* ******** UPDATE
public class ThreeLetterAcronym {
public static void main(String[] args) {
String threeWords;
StringBuilder acronym = new StringBuilder();
Scanner scan = new Scanner(System.in);
System.out.println("Enter your three words: ");
threeWords = scan.nextLine();
for(int count = 0; count < threeWords.length(); count++) {
acronym.append(threeWords.charAt(0));
if(threeWords.charAt(count) == ' ') {
++count;
acronym.append(threeWords.charAt(count));
}
}
System.out.println("The acronym of the three words you entered is: " + acronym);
}
}
答案 0 :(得分:0)
您无法保存其他字符,因为char应该只存储一个字符。 在这种情况下,您可以使用StringBuilder
StringBuilder acronym = new StringBuilder();
然后在你的循环中简单地用
替换它 String[] threeWordsArray = threeWords.split(" ");
for(String word : threeWordsArray) {
acronym.append( word.substring(0, 1) );
}
**已更新
答案 1 :(得分:0)
您将字符存储在space
:
char space = threeWords.charAt(count);
然后将space
的值与整数值3
进行比较:
if(space < 3)
这几乎肯定不会是真的。您要求的是字符的数值。假设它是一封信,它将至少为65
。我怀疑你的意图是在变量space
中存储不同的东西。