【问题标题】:android Eclipse Count The User Letter input in Word User Input the display to textview the resultandroid Eclipse Count The User Letter input in Word User Input display to textview 结果
【发布时间】:2014-08-25 10:29:30
【问题描述】:

我想创建一个应用程序,用户可以在其中输入一个单词并输入一个字母,并且应用程序将计算该字母在单词中使用的次数。这是我的代码

public class LetterCount extends Activity {

    Button CountLetter;
    TextView Result;
    EditText WordCount;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.lettercounter);

        Button CountLetter = (Button) findViewById(R.id.btncount);

        CountLetter.setOnClickListener(new View.OnClickListener() {
            //Declaring The Id in Xml    
            @Override
            public void onClick(View v) {
                TextView Result = (TextView) findViewById(R.id.numberletter);
                EditText WordCount = (EditText) findViewById(R.id.txtletter);
                String input =  WordCount.getText().toString();

                EditText Letter = (EditText) findViewById(R.id.txtletter);
                Char lettercount = Letter.getText();

                //loop for counting the letter in Word
                int charCount = 0;
                for(int i =0 ; i<input.length(); i++){
                    if(input.charAt(i) == lettercount){
                        charCount++;
                    }
                }
               //Displaying the result in Text View
               Result.setText(charCount);
            }
        });
    }
}

但是当我点击按钮时应用程序停止工作。我应该如何解决这个问题?

【问题讨论】:

  • 你得到的错误是什么??
  • 只要确保我做对了:你想让 use 输入一个单词和一个字母,然后计算那个单词中的字母有多少次是对的?顺便说一句,您在调试或其他方面没有任何异常?
  • 请分享您的堆栈跟踪。
  • 发送你的 logcat 错误

标签: java android eclipse loops


【解决方案1】:

您发现视图 txtletter 两次。取而代之的是另一个 EditText,用户可以在其中输入他们想要计算的字符,比如 letter

所以视图现在是

EditText Letter = (EditText) findViewById(R.id.letter);

另外,如果你想在文本视图中显示循环的结果,不要将 int 传递给setText,而是将其转换为字符串。

            EditText Letter = (EditText) findViewById(R.id.letter); //user will enter which character they want to count
            char lettercount = Letter.getText().toString().charAt(0); //read the character

            //loop for counting the letter in Word
            int charCount = 0;
            for(int i =0 ; i<input.length(); i++){
                if(input.charAt(i) == lettercount){
                    charCount++;
                }
            }
           //Displaying the result in Text View
           Result.setText(charCount + ""); //convert to string before passing to setText

【讨论】:

    猜你喜欢
    • 2022-12-31
    • 2022-12-02
    • 2022-12-02
    • 2022-12-02
    • 1970-01-01
    • 2022-12-28
    • 2020-05-20
    • 2020-07-17
    • 1970-01-01
    相关资源
    最近更新 更多