2016-02-17 3 views
0

В настоящее время приложение делит все, что пользователь вводит на 10, как я могу сделать так, чтобы 10 делилось на то, что вводит пользователь.Простой расчет (Java/Android Studio)

public class MainActivity extends AppCompatActivity { 
    Button mButton; 
    EditText mEdit; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    mButton = (Button)findViewById(R.id.button); 
    mEdit = (EditText)findViewById(R.id.editText); 

    mButton.setOnClickListener(
      new View.OnClickListener() 
      { 
       public void onClick(View view) 
       { 
        try 
        { 
         int result = Integer.parseInt(mEdit.getText().toString())/10; 

         Log.v("EditText", "result is " + result); 


         Toast.makeText(MainActivity.this, "result is "+result, 
           Toast.LENGTH_LONG).show(); 
        } 
        catch (final NumberFormatException e) 
        { 

         Toast.makeText(MainActivity.this,"Please Enter a valid number", 
           Toast.LENGTH_LONG).show(); 
        } 
        } 
       }); 
    } 



} 

Я хочу, чтобы событие произошло на «фоне».

ответ

0

Я думаю, что вы получили это навыворот:

int result = Integer.parseInt(mEdit.getText().toString())/10; 

Что вы делаете здесь разделив вход пользователя на 10, не разделив 10 на входе пользователя, как вы просили. Кроме того, это целочисленное деление: пользовательский ввод анализируется как целое число, а 10 - целое число. Если пользовательский ввод равен 3, результат вашего вычисления будет равен нулю (а не 0,3). Попробуйте сделать один из операндов в поплавок.

Итак, попробуйте следующее:

float result = 10/Float.parseFloat(mEdit.getText().toString()); 
Смежные вопросы