2017-06-14 152 views
-4

所以我在Android Studio中如何在Java中的两个数字之间添加所有整数?

public void add(View view){ 
    EditText editText1 = (EditText) findViewById(R.id.editText); 
    EditText editText2 = (EditText) findViewById(R.id.editText2); 
    EditText editText3 = (EditText) findViewById(R.id.editText3); 

    Float firstNumber = Float.valueOf(editText1.getText().toString()); 
    Float secondNumber = Float.valueOf(editText2.getText().toString()); 

    Float sum = firstNumber + secondNumber; 

    editText3.setText(sum.toString()); 
} 

做了一个简单相加程序,我应该怎样才能总结两个数字 之间的所有整数,例如,如果文本1 = 1和文本2 = 5,则总和应为1更改此+ 2 + 3 + 4 + 5

回答

0

事情是这样的:

public void add(View view){ 
    EditText editText1 = (EditText) findViewById(R.id.editText); 
    EditText editText2 = (EditText) findViewById(R.id.editText2); 
    EditText editText3 = (EditText) findViewById(R.id.editText3); 

    int firstNumber = Integer.valueOf(editText1.getText().toString()); 
    int secondNumber = Integer.valueOf(editText2.getText().toString()); 

    int sum = 0; 
    for(int i = firstNumber; i <= secondNumber; i++) 
    { 
     sum+=i; 
    } 

    editText3.setText("" + sum); 
} 
+0

我得到了 '的toString' 一个错误消息,从(sum.toString()); –

+0

好吧,我已经修好了。我已将Integer对象更改为int,其中没有toString方法。 – urgas9

+0

谢谢你的帮助! –

0

您可以使用此方法找到的总和

int sum(int smallest, int largest) { 
    int length = (largest - smallest + 1); 

    int sum = length * (smallest + largest)/2; 

    return sum; 
} 

,你可以这样调用,

int firstNumber = Integer.parseInt(editText1.getText().toString()); 
int secondNumber = Integer.parseInt(editText2.getText().toString()); 

int sum = sum(firstNumber, secondNumber); 

editText3.setText(sum.toString()); 
0

试试这个

int firstNumber, secondNumber; 
    float ans = 0; 
    Button.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     ans = 0; 
     firstNumber = Integer.parseInt(editText1.getText().toString()); 
     secondNumber = Integer.parseInt(editText2.getText().toString()); 

     for (; firstNumber <= secondNumber; firstNumber++) { 
      ans += firstNumber; 
     } 
     editText3.setText(ans + ""); 
    } 
}); 
相关问题