我必须制作一个程序,需要生成10个字母的三个单词,每个单词的第一个字母为UpperCase。之后,我必须将这三个单词组合成一个单词,并且该单词应该只有第一个字母作为UpperCase。
到目前为止,我设法做到了这一点:
public static void main(String[] args) {
new DZ05();
}
public DZ05() {
Random word = new Random();
for(int i = 0; i<= 10; i++) {
int x = word.nextInt(25)+97;
if(i==0) {
tekst1+= Character.toUpperCase((char) (x));
} else {
tekst1+= (char) (x);
}
}
for(int i = 0; i<= 10; i++) {
int x = word.nextInt(25)+97;
if(i==0) {
tekst2+= Character.toUpperCase((char) (x));
} else {
tekst2+= (char) (x);
}
}
for(int i = 0; i<= 10; i++) {
int x = word.nextInt(25)+97;
if(i==0) {
tekst3+= Character.toUpperCase((char) (x));
} else {
tekst3+= (char) (x);
}
}
System.out.println(tekst1);
System.out.println(tekst2);
System.out.println(tekst3);
那就是我不知道还能做什么
答案 0 :(得分:0)
您应该考虑将问题分解为多种方法,并让主程序调用这些方法。
例如,您可以构建类似的内容:
private String randomWord(int length) { ... }
private String titleCase(String word) { ... }
您的主程序可以调用它们并且更容易理解:
String fiveLetterWord = randomWord(5);
String titleCasedWord = titleCase("threeConcatenatedWords");
答案 1 :(得分:0)
我将假设tekst1,tekst2和tekst3是字符串,因为这未在提供的代码中显示。
首先,你的for循环生成11个而不是10个字母的单词。它应该是:
for (int i = 0; i < 10; i++)
现在,您可以使用String类中的各种方法来实现目标。您可以使用String concatenation来组合单词:
String combinedWords = tekst1 + tekst2 + tekst3;
使用字符串方法toLowerCase和substring获取除小写字母以外的所有字母:
String lowerCaseChars = combinedWords.toLowerCase().substring(1);
使用String方法charAt获取第一个字母:
char upperChar = combinedWords.charAt(0);
最后,合并upperChar
和lowerCaseChars
会为您提供所需的结果:
String result = upperChar + lowerCaseChars