一些题目以及易错点、知识点总结
主要是跟着学校的实验安排写做题思路,代码肯定存在许多有待改进的地方。将学习中的一点点经验分享在这里,希望能给遇到相同问题的伙伴一些小参考吧!
题目
实验一
Lab1_4
实验二
Lab2_5 银行账户信息
实验要求
在包Lab2中创建一个名为Lab2_5的类用于存储银行账户信息,要求能够存放用户的账号、姓名、密码和账户余额等个人信息,并包含存款、取款、查询余额和修改账户密码等操作,并用此类创建对象,对象的账号为100,姓名为Tom,密码为11111,账户余额为10000。
package Lab2;
import java.lang.invoke.SwitchPoint;
import java.util.Scanner;
import java.util.function.ObjDoubleConsumer;
import javax.swing.plaf.nimbus.NimbusLookAndFeel;
//java的类定义后面没有()
class Cust
{
String name;
int id;
int pwd;
int money;
//查余额
public void tell()
{
System.out.println(name+" 客户您好,您的账户余额为:\n"+money);
}
//存款
public void input() {
System.out.println("您需要存入的金额为:");
Scanner inin=new Scanner(System.in);
int money_in=inin.nextInt();
money+=money_in;
}
//取款
public void output() {
System.out.println("您需要取出的金额为:");
Scanner inout=new Scanner(System.in);
int money_out=inout.nextInt();
money-=money_out;
}
//改密码
public void repwd() {
System.out.println("请设置您的新密码:");
Scanner inpwd=new Scanner(System.in);
pwd=inpwd.nextInt();
}
}
public class Lab2_5 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Cust cust=new Cust();
cust.name="Tom";
cust.id=100;
cust.pwd=11111;
cust.money=10000;
System.out.println("您需要的操作为:\n(请输入所需业务对应数字):\n1 :存款\n2 :取款\n3 :查询余额\n4 :修改账户密码\n5 :退出");
//用户输入需要的业务
Scanner in=new Scanner(System.in);
int order=in.nextInt();
//按需执行
while(order!=5)
{
switch(order)
{
case 1:
cust.input();
break;
case 2:
cust.output();
break;
case 3:
cust.tell();
break;
case 4:
cust.repwd();
break;
}
//更新新的需求order
System.out.println("您还需要的操作为:");
order=in.nextInt();
}
//退出“银行”
System.err.println(cust.name+",您已成功退出操作!");
}
}
****代码运行结果:****
您需要的操作为:
(请输入所需业务对应数字):
1 :存款
2 :取款
3 :查询余额
4 :修改账户密码
5 :退出
1
您需要存入的金额为:
100
您还需要的操作为:
2
您需要取出的金额为:
200
您还需要的操作为:
3
Tom 客户您好,您的账户余额为:
9900
您还需要的操作为:
4
请设置您的新密码:
12345
您还需要的操作为:
5
Tom,您已成功退出操作!
一些容易出错的地方
数据类型的问题
double转string
Double.toString(i);
代码示例:
double num=3.1415926;
System.out.println("字符串和double类型连接:"+Double.toString(num));
****代码运行结果:****
字符串和double类型连接:3.1415926
string转int
string转int,两种方法:
1、Interger.parseInt(String)
2、Interger.valueOf(String)
注:
Integer类有一个静态缓存,存储了256个特殊的Integer对象——每个对象分别对应-128 和127之间的一个值,所以:Integer.valueOf(128)==Integer.valueOf(128)的结果是false,与我们的一般理解有一定差异。
int转string
1、String.valueOf(i)
2、Integer.toString(i)
2、i+""
一些知识点
关于数学计算
1.写代码时可直接使用Math.PI,而无需import导入
一些常用的包
java.util.zip包:实现文件压缩功能。
java.lang.reflect包:提供用于反射对象的工具。
java.mah:如提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
java.net包:用来实现网络功能的类库。如Socket类、ServerSocket类。
java.awt包:构建图形用户界面(GUI)的类库。提供的类如:低级绘图操作Graphics类,图形界面组件和布局管理如 Checkbox类、Container类、LayoutManager接口等,以及用户界面交互控制和事件响应,如Event类。
java.awt.event包:GUI事件处理包。
java.awt.image包:处理和操纵来自于网上的图片的java工具类库。
java.sql包:实现JDBC的类库。
java.applet包:编写java applet程序用的。