如何使用乘法进行简单计算

时间:2017-12-15 01:02:15

标签: java android

我的简单计算有问题,只需从用户输入数字的edittext中进行乘法运算。当用户单击结果按钮时,用户从edittext输入的数字会进行乘法运算并在textview中显示结果。

input = (EditText)findViewById(R.id.input);

output1 = (TextView)findViewById(R.id.output_one);

output2 = (TextView)findViewById(R.id.output_two);

output3 = (TextView)findViewById(R.id.output_three);

result = (Button)findViewById(R.id.result);

result.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                output1.setText(input.getText()*"2");
                output2.setText(input.getText()*"3");
                output3.setText(input.getText()*"4");
            }
}

(input.getText()*"")显示红色下划线。它说'Operator *不能应用于android.text.editable,java.lang.String'。

任何人都可以填写我的代码?我是初学者:)

5 个答案:

答案 0 :(得分:1)

无法计算

String,您需要在操作中转换为数字,您可以尝试:

Integer.valueOf ("")

答案 1 :(得分:0)

确保用户输入一个号码,使用

android:inputType="number"
<\ t>在EditText属性中。

input = (EditText)findViewById(R.id.input);

output1 = (TextView)findViewById(R.id.output_one);
output2 = (TextView)findViewById(R.id.output_two);
output3 = (TextView)findViewById(R.id.output_three);

result = (Button)findViewById(R.id.result);
result.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

// storing the EditText value in a variable.
// do it in the onClick method only.
int inputVal = Integer.parseInt(input.getText().toString());

            output1.setText(inputVal * 2);
            output2.setText(inputVal * 3);
            output3.setText(inputVal * 4);
        }
}

答案 2 :(得分:0)

input =&gt; EditText

当您使用input.getText()时,您会获得Editable类的对象。

如果您想获得其价值,则必须使用EditableString转换为input.getText().toString()

现在你想要乘以该值,所以你必须将{String}转换为Integer(或相关的dataType),然后乘以Integer.parseInt(input.getText().toString()),然后乘以你的值。

现在,您要将此更新后的值分配给TextView,请使用String.valueOf()

所以最后你的代码应该是:

int inputVal = Integer.parseInt(input.getText().toString());
output1.setText(String.valueOf(inputVal * 2));
output2.setText(String.valueOf(inputVal * 3));
output3.setText(String.valueOf(inputVal * 4));

答案 3 :(得分:0)

使用此

output1.setText(Integer.valueOf(input.getText().trim())*Integer.valueOf("2"));
output2.setText(Integer.valueOf(input.getText().trim())*Integer.valueOf("3"));
output3.setText(Integer.valueOf(input.getText().trim())*Integer.valueOf("4"));

答案 4 :(得分:-1)

您正在尝试乘以字符串。您应该在将它们相乘之前将字符串转换为数字。

result.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            try{
                 int inputInt = Integer.parseInt(input.getText());
                 int inputInt_times2 = 2*inputInt;
                 int inputInt_times3 = 3*inputInt;
                 int inputInt_times4 = 4*inputInt;
                 output1.setText(inputInt_times2+"");
                 output2.setText(inputInt_times3+"");
                 output3.setText(inputInt_times4+"");
            }catch(Exception e){
                 //handle the exception here
            }

        }
 }

我在setText中添加的(+&#34;&#34;)是将int再次转换为String。