Java 如何将文本视图更改为int并在数学运算中使用它?

Java 如何将文本视图更改为int并在数学运算中使用它?,java,android,textview,numbers,Java,Android,Textview,Numbers,你好,我正在尝试制作一个应用程序,给你2个随机数,用户必须添加2个随机数,所以我的错误是随机数不是整数 我尝试了数百种解释,但都不管用 public void action(View v){ num1.setText(String.valueOf(randNum1.nextInt(10))); num2.setText(String.valueOf(randNum2.nextInt(10))); userAnswer.getText(); if (nu

你好,我正在尝试制作一个应用程序,给你2个随机数,用户必须添加2个随机数,所以我的错误是随机数不是整数

我尝试了数百种解释,但都不管用

 public void action(View v){
    num1.setText(String.valueOf(randNum1.nextInt(10)));


    num2.setText(String.valueOf(randNum2.nextInt(10)));


    userAnswer.getText();

    if (num1 + num2){

    }
}
这就是错误:

二进制运算符“+”的操作数类型错误第一种类型:TextView第二种 类型:文本视图


您收到的错误很好地描述了您的问题

根据您提供的代码片段,我猜num1和num2是对textview对象的引用

不能对textview对象本身执行添加,而是对其内容执行添加

因此,您试图实现的目标是:

public void action(View v){
     num1.setText(String.valueOf(randNum1.nextInt(10)));


   num2.setText(String.valueOf(randNum2.nextInt(10)));


   userAnswer.getText();

   String num1String = num1.getText().toString();
   String num2String = num2.getText().toString();

   int firstNumber = Integer.parseInt(num1String);
   int secondNumber = Integer.parseInt(num2String);

   if (firstNumber + secondNumber){
        // YOUR LOGIC
     }
 }
或者更好的是,您可以将生成的随机数保存到变量中,稍后再使用它们,如下所示:

 public void action(View v){


int randomNumberOne = randNum1.nextInt(10);
int randomNumberTwo = randNum2.nextInt(10);

     num1.setText(String.valueOf(randomNumberOne));


   num2.setText(String.valueOf(randomNumberTwo));

   userAnswer.getText();


   if (randomNumberOne + randomNumberTwo){
        // YOUR LOGIC
     }
 }

您可以按照以下步骤操作。我假设randNum1和randNum2是随机数,num1和num2是TextView

 public void action(View v){

num1.setText(String.valueOf(randNum1.nextInt(10)));
num2.setText(String.valueOf(randNum2.nextInt(10)));

userAnswer.getText(); 

 int randNumber1 = Integer.parseInt(num1.getText().toString());
 int randNumber2 = Integer.parseInt(num2.getText().toString());

if (randNumber1 + randNumber2 ){
  //your logic write here  
}else{}

}

这回答了你的问题吗@阿里·沙赫里斯塔尼-如果我的回答有帮助,请将其标记为