如何从用户输入中保存数字?
How to save number from user input?
最近我开始研究 Android Studio 并决定制作一个应用程序。我已经充分利用了我的应用程序,但遇到了一个小问题。我需要在变量中记住用户输入的数字,但我不知道该怎么做,我已经尝试过在互联网上找到的解决方案,即使在这里,但我得到了一个错误。
有人可以帮我一些想法或编辑我必须放在我的应用程序中的代码吗?
这是 activity 的 java 代码:
public class calc_medie_teza extends ActionBarActivity implements View.OnClickListener {
EditText adaug_nota;
static final int READ_BLOCK_SIZE = 100;
TextView afisare;
TextView afisare2;
Button calc;
EditText note_nr;
EditText nota_teza;
int suma;
double medie;
double medieteza;
int nr_note = 0;
int notamedie;
int notateza;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calc_medie_teza);
afisare = (TextView) findViewById(R.id.afisare);
afisare2 = (TextView) findViewById(R.id.afisare2);
calc = (Button) findViewById(R.id.calc);
calc.setOnClickListener(this);
note_nr = (EditText) findViewById(R.id.note_nr);
nota_teza = (EditText) findViewById(R.id.nota_teza);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_calc_medie_teza, menu); // creare meniu
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId(); // meniu
return id == R.id.action_settings || super.onOptionsItemSelected(item);
}
public void onClick(View v) // afisare medie
{
calcul_medie();
}
public void buton_adauga(View v)
{
if(note_nr == )
suma = suma + notamedie;
nr_note = nr_note + 1;
}
public double calcul_medie() // calculul mediei
{
medie = suma / nr_note;
medieteza = ((medie * 3)+ notateza)/4;
return medieteza;
}
这是一张 activity 的照片:http://onlypro.ro/img/images/ootllv2f55hnwdgi0xlv.png
基本上,当我按下 "Adauga nota" [添加成绩] 按钮时,应用程序需要将输入数字添加到变量,然后我必须插入 "teza" 数字,当按下 [=24] =] [计算] 然后应用程序将计算 calcul_medie() 和 return 一个十进制数。在 "Introduceti notele aici" [在此处添加成绩] 和 "Adaugata nota"[添加成绩] 之间我有一个数字输入文本,在 "Introduceti teza aici" [Add thesis bere] 和 "Calculeaza media" [Calculate] 之间也是如此].我不知道如何存储用户输入的数字并将其求和到 "notamedie" 变量中。
希望您能理解我的问题。
如果您有任何问题,我会尽快回复。
提前致谢!
当您按下按钮时,只需按以下方式从编辑文本中检索适当的值
edittext = (EditText)layout.findViewById(R.id.txtDescription);
String string = edittext.getText().toString();
我完全没看懂问题。请清楚地定义问题并尽可能使用英语。据我所知,将有一个 Edittext,用户将向其输入值。在activity中获取它的值,然后使用它。
EditText edittext;
editext = (EditText) findViewById(R.id.editext);
String value = edit text.getText().toString(); // the value that the user inputted in String data format
// Here for addition you will need the value in int or decimal for that
int valueInt = Integer.parse(value); // this will be the value in int type
double valueInt = = Double.parseDouble(value); // this will be the value (user inputted) in double data type ( which you will need if you want to use decimal numbers).
要检索文本,请执行此操作
String string = note_nr.getText().toString();
// Converting String to int
int myValue =Integer.parseInt(string);
好吧,我想您可能问过如何从 UI 获取字符串输入并将其转换为 Integer/BigDecimal。如果是这样,这里有一些解决方案:
首先,您从 UI:
获取字符串
String input = note_nr.getText().toString().trim();
将字符串输入改为integer/BigDecimal:
int number1 = Integer.parseInt(input);
BigDecimal number2 = new BigDecimal(input);
如果我误解了你的问题,请纠正我。谢谢
我又试了一次,但是 IDE 说我用于 "string" 的变量从未被使用过,但我已经用过了。
number1= (EditText) findViewById(R.id.number1);
String number_1 = number1.getText().toString();
number2= (EditText) findViewById(R.id.number2);
String number_2= number2.getText().toString();
R3muSGFX,你能post全部代码吗?
字符串number_1 = number1.getText().toString();这行代码只是意味着你初始化了一个字符串变量 "number_1".
你会在应用程序执行数学函数时使用它,就像你在开头写的那样:
public double calcul_medie()
{
medie = suma / nr_note;
medieteza = ((medie * 3)+ notateza)/4;
return medieteza;
}
但是如果你根本没有使用 "number_1",IDE 会提示你警告信息
: 我用于 "string" 的变量从未使用过
最近我开始研究 Android Studio 并决定制作一个应用程序。我已经充分利用了我的应用程序,但遇到了一个小问题。我需要在变量中记住用户输入的数字,但我不知道该怎么做,我已经尝试过在互联网上找到的解决方案,即使在这里,但我得到了一个错误。 有人可以帮我一些想法或编辑我必须放在我的应用程序中的代码吗? 这是 activity 的 java 代码:
public class calc_medie_teza extends ActionBarActivity implements View.OnClickListener {
EditText adaug_nota;
static final int READ_BLOCK_SIZE = 100;
TextView afisare;
TextView afisare2;
Button calc;
EditText note_nr;
EditText nota_teza;
int suma;
double medie;
double medieteza;
int nr_note = 0;
int notamedie;
int notateza;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calc_medie_teza);
afisare = (TextView) findViewById(R.id.afisare);
afisare2 = (TextView) findViewById(R.id.afisare2);
calc = (Button) findViewById(R.id.calc);
calc.setOnClickListener(this);
note_nr = (EditText) findViewById(R.id.note_nr);
nota_teza = (EditText) findViewById(R.id.nota_teza);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_calc_medie_teza, menu); // creare meniu
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId(); // meniu
return id == R.id.action_settings || super.onOptionsItemSelected(item);
}
public void onClick(View v) // afisare medie
{
calcul_medie();
}
public void buton_adauga(View v)
{
if(note_nr == )
suma = suma + notamedie;
nr_note = nr_note + 1;
}
public double calcul_medie() // calculul mediei
{
medie = suma / nr_note;
medieteza = ((medie * 3)+ notateza)/4;
return medieteza;
}
这是一张 activity 的照片:http://onlypro.ro/img/images/ootllv2f55hnwdgi0xlv.png
基本上,当我按下 "Adauga nota" [添加成绩] 按钮时,应用程序需要将输入数字添加到变量,然后我必须插入 "teza" 数字,当按下 [=24] =] [计算] 然后应用程序将计算 calcul_medie() 和 return 一个十进制数。在 "Introduceti notele aici" [在此处添加成绩] 和 "Adaugata nota"[添加成绩] 之间我有一个数字输入文本,在 "Introduceti teza aici" [Add thesis bere] 和 "Calculeaza media" [Calculate] 之间也是如此].我不知道如何存储用户输入的数字并将其求和到 "notamedie" 变量中。
希望您能理解我的问题。 如果您有任何问题,我会尽快回复。
提前致谢!
当您按下按钮时,只需按以下方式从编辑文本中检索适当的值
edittext = (EditText)layout.findViewById(R.id.txtDescription);
String string = edittext.getText().toString();
我完全没看懂问题。请清楚地定义问题并尽可能使用英语。据我所知,将有一个 Edittext,用户将向其输入值。在activity中获取它的值,然后使用它。
EditText edittext;
editext = (EditText) findViewById(R.id.editext);
String value = edit text.getText().toString(); // the value that the user inputted in String data format
// Here for addition you will need the value in int or decimal for that
int valueInt = Integer.parse(value); // this will be the value in int type
double valueInt = = Double.parseDouble(value); // this will be the value (user inputted) in double data type ( which you will need if you want to use decimal numbers).
要检索文本,请执行此操作
String string = note_nr.getText().toString();
// Converting String to int
int myValue =Integer.parseInt(string);
好吧,我想您可能问过如何从 UI 获取字符串输入并将其转换为 Integer/BigDecimal。如果是这样,这里有一些解决方案:
首先,您从 UI:
获取字符串String input = note_nr.getText().toString().trim();
将字符串输入改为integer/BigDecimal:
int number1 = Integer.parseInt(input);
BigDecimal number2 = new BigDecimal(input);
如果我误解了你的问题,请纠正我。谢谢
我又试了一次,但是 IDE 说我用于 "string" 的变量从未被使用过,但我已经用过了。
number1= (EditText) findViewById(R.id.number1);
String number_1 = number1.getText().toString();
number2= (EditText) findViewById(R.id.number2);
String number_2= number2.getText().toString();
R3muSGFX,你能post全部代码吗?
字符串number_1 = number1.getText().toString();这行代码只是意味着你初始化了一个字符串变量 "number_1".
你会在应用程序执行数学函数时使用它,就像你在开头写的那样:
public double calcul_medie() { medie = suma / nr_note; medieteza = ((medie * 3)+ notateza)/4; return medieteza; }
但是如果你根本没有使用 "number_1",IDE 会提示你警告信息 : 我用于 "string" 的变量从未使用过