好的,我会缩短它。
这是我的代码
String s = edittextkata.getText().toString();
String[] vowels = {"a","e","i","o","u","A","I","U","E","O"};
String firstLetter;
if (s.equals("")) {
Toast.makeText(getApplicationContext(), "EMPTY, CAN NOT ENCRYPT!", Toast.LENGTH_SHORT).show();
} else if (s.contains(" ")) {
String[] wordArray = s.split(" ");
firstLetter="";
StringBuilder sb = new StringBuilder(" ");
outerloop:
for(String word:wordArray){
for(int i=0;i<word.length();i++){
if(word != null){
String words=wordArray[i].trim();
firstLetter+=(words.charAt(0));
input+=words.substring(1);
if(wordArray[i].startsWith(vowels[i]))
{
hasil=input+firstLetter+"IN"+" ";
sb.append(hasil);
i++;
continue outerloop;
} else{
hasil=input+firstLetter+"AN"+" ";
sb.append(hasil);
i++;
continue outerloop;
}}
}break outerloop;
}
sb.toString(); // Re-join string
edittexthasil.setText(sb);
} else {
int i=0;
firstLetter="";
if(s.startsWith(vowels[i])){
firstLetter += s.charAt(0);
input = s.substring(1);
hasil = input + firstLetter + "IN";
edittexthasil.setText(hasil.toString());
} else {
firstLetter += s.charAt(0);
input = s.substring(1);
hasil += input + firstLetter + "AN";
edittexthasil.setText(hasil.toString());
} edittexthasil.setText(hasil.toString());
}
我的问题是
我的输入是&#34; hello world &#34;
但为什么我的输出是&#34; nullellohAN nullelloellohhAN &#34;,
当我再次点击按钮时,输出变为&#34; nullelloellohhAN nullelloelloelloellohhAN &#34;
为什么来自hello world的世界部分没有表现出来?只是你好。
为什么太多了?
为什么每次点击按钮都会改变?我希望输入保持这样(&#34; ellohAN orldwAN &#34;),除非更改输入文本。
Logcat没有错误,这就是为什么我感到困惑。帮帮我〜
答案 0 :(得分:0)
这是一些面试任务吗?我建议你更多地关注代码质量,而不仅仅是最终结果。关于你列出的错误 - 我看到你正在尝试将String分配给String数组:
String[] characterArray = word;
或从数组中创建一个String:
wordArray[i] = new String(characterArray);
这两者都是非法陈述。其他类似的。
尝试使用IDE(如Eclipse或IDEA),它会在现场向您显示这些错误,并提供有关如何解决这些错误的建议。 另外,如果我是你,我会重新考虑逻辑并从头开始重写代码:)。