btn_update.setText(String.valueOf(Integer.parseInt(btn_update.getText().toString()+1))); java.lang.NumberFormatException: For input string: "11111111111"怎没解决
时间: 2024-01-21 07:18:52 浏览: 28
这个错误是因为你尝试将一个太大的数字转换为整数类型,导致超出了整数的范围。你可以使用长整型来避免这个错误,例如:
```
btn_update.setText(String.valueOf(Long.parseLong(btn_update.getText().toString())+1));
```
这样就可以避免超出整数范围的问题。
相关问题
安卓studio学生管理系统源代码
以下是两个基于Android Studio开发的学生信息管理系统的源代码:
1. 学生信息管理系统实现源码(安卓开发教程课后练习)
```java
// 省略部分代码
public class MainActivity extends AppCompatActivity {
private EditText et_name, et_age, et_major;
private Button btn_add, btn_query, btn_update, btn_delete;
private ListView lv_student;
private List<Student> studentList = new ArrayList<>();
private StudentAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_name = findViewById(R.id.et_name);
et_age = findViewById(R.id.et_age);
et_major = findViewById(R.id.et_major);
btn_add = findViewById(R.id.btn_add);
btn_query = findViewById(R.id.btn_query);
btn_update = findViewById(R.id.btn_update);
btn_delete = findViewById(R.id.btn_delete);
lv_student = findViewById(R.id.lv_student);
adapter = new StudentAdapter(this, studentList);
lv_student.setAdapter(adapter);
// 添加学生信息
btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
String age = et_age.getText().toString().trim();
String major = et_major.getText().toString().trim();
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(age) || TextUtils.isEmpty(major)) {
Toast.makeText(MainActivity.this, "请填写完整信息", Toast.LENGTH_SHORT).show();
return;
}
Student student = new Student(name, Integer.parseInt(age), major);
studentList.add(student);
adapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
}
});
// 查询学生信息
btn_query.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
Toast.makeText(MainActivity.this, "请输入姓名", Toast.LENGTH_SHORT).show();
return;
}
for (Student student : studentList) {
if (name.equals(student.getName())) {
et_age.setText(String.valueOf(student.getAge()));
et_major.setText(student.getMajor());
Toast.makeText(MainActivity.this, "查询成功", Toast.LENGTH_SHORT).show();
return;
}
}
Toast.makeText(MainActivity.this, "未找到该学生信息", Toast.LENGTH_SHORT).show();
}
});
// 修改学生信息
btn_update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
String age = et_age.getText().toString().trim();
String major = et_major.getText().toString().trim();
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(age) || TextUtils.isEmpty(major)) {
Toast.makeText(MainActivity.this, "请填写完整信息", Toast.LENGTH_SHORT).show();
return;
}
for (Student student : studentList) {
if (name.equals(student.getName())) {
student.setAge(Integer.parseInt(age));
student.setMajor(major);
adapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this, "修改成功", Toast.LENGTH_SHORT).show();
return;
}
}
Toast.makeText(MainActivity.this, "未找到该学生信息", Toast.LENGTH_SHORT).show();
}
});
// 删除学生信息
btn_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
Toast.makeText(MainActivity.this, "请输入姓名", Toast.LENGTH_SHORT).show();
return;
}
for (Student student : studentList) {
if (name.equals(student.getName())) {
studentList.remove(student);
adapter.notifyDataSetChanged();
Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
return;
}
}
Toast.makeText(MainActivity.this, "未找到该学生信息", Toast.LENGTH_SHORT).show();
}
});
}
}
```
2. 基于SQLite数据库编写的学生管理系统源码
```java
// 省略部分代码
public class MainActivity extends AppCompatActivity {
private EditText et_name, et_age, et_major;
private Button btn_add, btn_query, btn_update, btn_delete;
private ListView lv_student;
private List<Student> studentList = new ArrayList<>();
private StudentAdapter adapter;
private SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_name = findViewById(R.id.et_name);
et_age = findViewById(R.id.et_age);
et_major = findViewById(R.id.et_major);
btn_add = findViewById(R.id.btn_add);
btn_query = findViewById(R.id.btn_query);
btn_update = findViewById(R.id.btn_update);
btn_delete = findViewById(R.id.btn_delete);
lv_student = findViewById(R.id.lv_student);
adapter = new StudentAdapter(this, studentList);
lv_student.setAdapter(adapter);
// 打开或创建数据库
db = openOrCreateDatabase("student.db", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS student(_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER, major TEXT)");
// 添加学生信息
btn_add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
String age = et_age.getText().toString().trim();
String major = et_major.getText().toString().trim();
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(age) || TextUtils.isEmpty(major)) {
Toast.makeText(MainActivity.this, "请填写完整信息", Toast.LENGTH_SHORT).show();
return;
}
ContentValues values = new ContentValues();
values.put("name", name);
values.put("age", Integer.parseInt(age));
values.put("major", major);
db.insert("student", null, values);
queryData();
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
}
});
// 查询学生信息
btn_query.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
Toast.makeText(MainActivity.this, "请输入姓名", Toast.LENGTH_SHORT).show();
return;
}
Cursor cursor = db.rawQuery("SELECT * FROM student WHERE name=?", new String[]{name});
if (cursor.moveToFirst()) {
et_age.setText(String.valueOf(cursor.getInt(cursor.getColumnIndex("age"))));
et_major.setText(cursor.getString(cursor.getColumnIndex("major")));
Toast.makeText(MainActivity.this, "查询成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "未找到该学生信息", Toast.LENGTH_SHORT).show();
}
cursor.close();
}
});
// 修改学生信息
btn_update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
String age = et_age.getText().toString().trim();
String major = et_major.getText().toString().trim();
if (TextUtils.isEmpty(name) || TextUtils.isEmpty(age) || TextUtils.isEmpty(major)) {
Toast.makeText(MainActivity.this, "请填写完整信息", Toast.LENGTH_SHORT).show();
return;
}
ContentValues values = new ContentValues();
values.put("age", Integer.parseInt(age));
values.put("major", major);
db.update("student", values, "name=?", new String[]{name});
queryData();
Toast.makeText(MainActivity.this, "修改成功", Toast.LENGTH_SHORT).show();
}
});
// 删除学生信息
btn_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = et_name.getText().toString().trim();
if (TextUtils.isEmpty(name)) {
Toast.makeText(MainActivity.this, "请输入姓名", Toast.LENGTH_SHORT).show();
return;
}
db.delete("student", "name=?", new String[]{name});
queryData();
Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
}
});
// 查询所有学生信息
queryData();
}
// 查询数据库中所有学生信息
private void queryData() {
studentList.clear();
Cursor cursor = db.rawQuery("SELECT * FROM student", null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
String major = cursor.getString(cursor.getColumnIndex("major"));
Student student = new Student(name, age, major);
studentList.add(student);
}
adapter.notifyDataSetChanged();
cursor.close();
}
}
```
使用android studio设计一个计算器,要实现基本的加减乘除运算,实现开方,平方,倒数运算,阶乘运算,求任意底的对数运算,任意数的n次方运算,正弦,余弦,正切,余切运算,实现与或非,异或,同或运算,写出代码示例
好的,对于这个问题,我会尽力回答。但是需要注意的是,这个问题涉及到的内容比较多,而且需要一定的编程基础,因此我会尽可能详细地回答,但是如果您有不理解的地方,可以随时向我提问。
首先,我们需要明确一下要实现哪些功能,可以将其列出来:
1. 基本的加减乘除运算
2. 实现开方,平方,倒数运算
3. 阶乘运算
4. 求任意底的对数运算
5. 任意数的n次方运算
6. 正弦,余弦,正切,余切运算
7. 实现与或非,异或,同或运算
基本的加减乘除运算比较简单,我们可以使用四个按钮来实现,分别对应加减乘除。当用户点击其中一个按钮时,我们需要获取当前的输入值,然后将其存储起来,并清空输入框。等到用户输入完第二个数值后,再根据操作符进行相应的运算,并将结果显示在输入框中。
下面是一个简单的实现示例:
```java
public class MainActivity extends AppCompatActivity {
private EditText mInput;
private Button mBtnAdd, mBtnSub, mBtnMul, mBtnDiv;
private double mNum1, mNum2;
private String mOperator;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mInput = findViewById(R.id.input);
mBtnAdd = findViewById(R.id.btn_add);
mBtnSub = findViewById(R.id.btn_sub);
mBtnMul = findViewById(R.id.btn_mul);
mBtnDiv = findViewById(R.id.btn_div);
mBtnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mNum1 = Double.parseDouble(mInput.getText().toString());
mOperator = "+";
mInput.setText("");
}
});
mBtnSub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mNum1 = Double.parseDouble(mInput.getText().toString());
mOperator = "-";
mInput.setText("");
}
});
mBtnMul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mNum1 = Double.parseDouble(mInput.getText().toString());
mOperator = "*";
mInput.setText("");
}
});
mBtnDiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mNum1 = Double.parseDouble(mInput.getText().toString());
mOperator = "/";
mInput.setText("");
}
});
}
}
```
接下来,我们来看看如何实现开方、平方和倒数运算。这些运算都比较简单,只需要在用户点击相应的按钮时,获取当前输入框中的值,进行相应的计算,然后将结果显示在输入框中即可。
下面是一个简单的实现示例:
```java
public void onSqrtClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double result = Math.sqrt(num);
mInput.setText(String.valueOf(result));
}
public void onSquareClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double result = num * num;
mInput.setText(String.valueOf(result));
}
public void onReciprocalClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double result = 1 / num;
mInput.setText(String.valueOf(result));
}
```
接下来,我们来看看如何实现阶乘运算。阶乘运算需要我们循环计算,从1到当前的输入值进行乘法运算,然后将结果显示在输入框中。
下面是一个简单的实现示例:
```java
public void onFactorialClick(View view) {
int num = Integer.parseInt(mInput.getText().toString());
int result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
mInput.setText(String.valueOf(result));
}
```
接下来,我们来看看如何实现求任意底的对数运算和任意数的n次方运算。这两个运算都可以使用Java中的Math类来实现。
下面是一个简单的实现示例:
```java
public void onLogClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double base = Double.parseDouble(mBaseInput.getText().toString());
double result = Math.log(num) / Math.log(base);
mInput.setText(String.valueOf(result));
}
public void onPowerClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double power = Double.parseDouble(mPowerInput.getText().toString());
double result = Math.pow(num, power);
mInput.setText(String.valueOf(result));
}
```
最后,我们来看看如何实现正弦、余弦、正切、余切运算,以及与或非、异或、同或运算。这些运算同样可以使用Java中的Math类来实现。
下面是一个简单的实现示例:
```java
public void onSinClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double result = Math.sin(num);
mInput.setText(String.valueOf(result));
}
public void onCosClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double result = Math.cos(num);
mInput.setText(String.valueOf(result));
}
public void onTanClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double result = Math.tan(num);
mInput.setText(String.valueOf(result));
}
public void onCotClick(View view) {
double num = Double.parseDouble(mInput.getText().toString());
double result = 1 / Math.tan(num);
mInput.setText(String.valueOf(result));
}
public void onAndClick(View view) {
int num1 = Integer.parseInt(mInput.getText().toString());
int num2 = Integer.parseInt(mSecondInput.getText().toString());
int result = num1 & num2;
mInput.setText(String.valueOf(result));
}
public void onOrClick(View view) {
int num1 = Integer.parseInt(mInput.getText().toString());
int num2 = Integer.parseInt(mSecondInput.getText().toString());
int result = num1 | num2;
mInput.setText(String.valueOf(result));
}
public void onNotClick(View view) {
int num = Integer.parseInt(mInput.getText().toString());
int result = ~num;
mInput.setText(String.valueOf(result));
}
public void onXorClick(View view) {
int num1 = Integer.parseInt(mInput.getText().toString());
int num2 = Integer.parseInt(mSecondInput.getText().toString());
int result = num1 ^ num2;
mInput.setText(String.valueOf(result));
}
public void onXnorClick(View view) {
int num1 = Integer.parseInt(mInput.getText().toString());
int num2 = Integer.parseInt(mSecondInput.getText().toString());
int result = ~(num1 ^ num2);
mInput.setText(String.valueOf(result));
}
```
以上就是一个简单的计算器的实现示例。当然,这只是一个简单的示例,实际上,一个完整的计算器还需要考虑很多方面,比如输入验证、界面美观等等。但是这个示例可以给您一个大致的思路,希望能对您有所帮助。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)