0
我正在开发一个基本计算器android应用程序,我坚持在某个阶段。此应用程序从textview中获取输入并将其存储在一个数字中。基本计算器Android应用程序
从用户处获取第二个输入时出现问题。
我正在设置用于将第一个输入(第一个数字)为空的字符串。使用相同的字符串,我怎样才能使字符串为空,并允许定义操作后的第二个输入。那里的任何人都可以帮助我并感激我。
预先感谢您..
public class MainActivity extends AppCompatActivity {
String answer = "";
float num1, num2;
int flag = 0;
String operation = "";
TextView textViewAnswer;
Button buttonOne;
Button buttonTwo;
Button buttonThree;
Button buttonFour;
Button buttonFive;
Button buttonSix;
Button buttonSeven;
Button buttonEight;
Button buttonNine;
Button buttonZero;
Button buttonAddition;
Button buttonSubstraction;
Button buttonMultiplication;
Button buttonDivision;
Button buttonDot;
Button buttonEqual;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewAnswer = (TextView) findViewById(R.id.textview_answer);
}
public void one(View view){
buttonOne = (Button) findViewById(R.id.button_one);
if (flag == 1) {
num1 = Float.parseFloat(textViewAnswer.getText().toString());
flag = 0;
answer = "";
}
else {
checkLength(buttonOne);
textViewAnswer.setText(answer);
}
}
public void two(View view){
buttonTwo = (Button) findViewById(R.id.button_two);
checkLength(buttonTwo);
textViewAnswer.setText(answer);
if (flag == 1) {
num1 = Float.parseFloat(textViewAnswer.getText().toString());
flag = 0;
answer = "";
}
}
public void three(View view){
buttonThree = (Button) findViewById(R.id.button_three);
checkLength(buttonThree);
textViewAnswer.setText(answer);
}
public void four(View view){
buttonFour = (Button) findViewById(R.id.button_four);
checkLength(buttonFour);
textViewAnswer.setText(answer);
}
public void five(View view){
buttonFive = (Button) findViewById(R.id.button_five);
checkLength(buttonFive);
textViewAnswer.setText(answer);
}
public void six(View view){
buttonSix = (Button) findViewById(R.id.button_six);
checkLength(buttonSix);
textViewAnswer.setText(answer);
}
public void seven(View view){
buttonSeven = (Button) findViewById(R.id.button_seven);
checkLength(buttonSeven);
textViewAnswer.setText(answer);
}
public void eight(View view){
buttonEight = (Button) findViewById(R.id.button_eight);
checkLength(buttonEight);
textViewAnswer.setText(answer);
}
public void nine(View view){
buttonNine = (Button) findViewById(R.id.button_nine);
checkLength(buttonNine);
textViewAnswer.setText(answer);
}
public void zero(View view){
buttonZero = (Button) findViewById(R.id.button_zero);
checkLength(buttonZero);
textViewAnswer.setText(answer);
}
public void dot(View view){
buttonDot = (Button) findViewById(R.id.button_dot);
checkLength(buttonDot);
textViewAnswer.setText(answer);
}
public void equal(View view){
buttonEqual = (Button) findViewById(R.id.button_equal);
// textViewAnswer.setText(buttonEqual.getText().toString());
switch (operation){
case "+" : num2 = num1 + (Float.parseFloat(textViewAnswer.getText().toString()));
answer = (String.valueOf(num2));
textViewAnswer.setText(answer);
}
}
public void addition(View view){
buttonAddition = (Button) findViewById(R.id.button_addition);
textViewAnswer.setText(buttonAddition.getText().toString());
operation = "+";
flag = 1;
}
public void substraction(View view){
buttonSubstraction = (Button) findViewById(R.id.button_substraction);
textViewAnswer.setText(buttonSubstraction.getText().toString());
operation = "-";
}
public void division(View view){
buttonDivision = (Button) findViewById(R.id.button_division);
textViewAnswer.setText(buttonDivision.getText().toString());
operation = "/";
}
public void multiplication(View view){
buttonMultiplication = (Button) findViewById(R.id.button_multiplication);
textViewAnswer.setText(buttonMultiplication.getText().toString());
operation = "*";
}
public void checkLength(Button button){
if((answer.length()) < 9)
answer += button.getText().toString();
else
Toast.makeText(this, "Cannot take more input", Toast.LENGTH_SHORT).show();
}
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.darpan.basiccalculator.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_gravity="bottom">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Answer"
android:id="@+id/textview_answer"
android:textSize="50sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="1"
android:onClick="one"/>
<Button
android:id="@+id/button_two"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="2"
android:onClick="two"/>
<Button
android:id="@+id/button_three"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="3"
android:onClick="three"/>
<Button
android:id="@+id/button_addition"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+"
android:onClick="addition"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button_four"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="4"
android:onClick="four"/>
<Button
android:id="@+id/button_five"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="5"
android:onClick="five"/>
<Button
android:id="@+id/button_six"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="6"
android:onClick="six"/>
<Button
android:id="@+id/button_substraction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-"
android:onClick="substraction"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button_seven"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="7"
android:onClick="seven"/>
<Button
android:id="@+id/button_eight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="8"
android:onClick="eight"/>
<Button
android:id="@+id/button_nine"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="9"
android:onClick="nine"/>
/>
<Button
android:id="@+id/button_multiplication"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="*"
android:onClick="multiplication"/>
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/button_dot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="."
android:onClick="dot"/>
<Button
android:id="@+id/button_zero"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:onClick="zero"/>
<Button
android:id="@+id/button_equal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="="
android:onClick="equal"/>
<Button
android:id="@+id/button_division"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/"
android:onClick="division"/>
</LinearLayout>
</LinearLayout>
</ScrollView>
我不太明白你在说什么。请张贴一些代码,并尝试更好地解释一下。 – Vucko
请发布一些您遇到问题的代码。 –
社区新手..已经习惯了.. – pinku