我正在开发一个Android应用程序,需要一些计算代码的帮助。用户需要在文本字段(EditText)中输入值1-5000000,按下按钮(计算),当发生这种情况时,输入的数字需要乘以10%,答案显示在屏幕上的文本字段中(EditText上)。 以下是我正在处理的代码:
public void operation(){
if(optr.equals("*")){
amt = Integer.parseInt(num.getText().toString());
amt = num * 10%;
num1.setText(Integer.toString(amt));
}
答案 0 :(得分:2)
试试这个:
int amt = Integer.parseInt(num.getText().toString());
int result = amt/10;
顺便说一句,您试图将您的EditText乘以其代码中的值。
答案 1 :(得分:2)
使用以下代码:
public void operation(){
if(optr.equals("*")){ // what is the optr?
amt = Integer.parseInt(num.getText().toString());
amt *= 10%; //You must use the value here, not the EditText
num1.setText(String.valueOf(amt));
}
}
答案 2 :(得分:0)
试试这个; %不是编程上下文中的百分比运算符。
public void operation(){
if(optr.equals("*")){
amt = Integer.parseInt(num.getText().toString());
amt = num / 10;
num1.setText(Integer.toString(amt));
}
}
答案 3 :(得分:0)
您需要在此处的答案中添加文本更改侦听器:android edittext onchange listener
你也可以使用RXJava和RXbinding来创建一个observable,它可以在每次更改时发出edittext的值
编辑:没关系,没注意到你是从一个方法
运行它答案 4 :(得分:0)
在Java中,您不能直接乘以10%来获得任何数字的10%。
通过评论您的行,您的代码已经发生了变化。 考虑浮动作为输入。
public void operation(){
if(optr.equals("*")){
//amt = Integer.parseInt(num.getText().toString());
// amt = num * 10%;
amt = Float.parseFloat(num.getText().toString());
amt = num/10;
num1.setText(amt+"");
//num1.setText(Integer.toString(amt));
}
}