题目:
1、 新建java项目,实现一个类Person,包含属性、多个构造器(构造方法)、自有方法。
设置Person类,属性有:姓名,年龄,性别,工号,set、get方法,要求:创建对象,并写一个函数进行自我介绍,输出:我叫XXX,性别X,工号XXX,今年X岁, 至2026年X岁。
(俩个类:firstQuestion.java,Person.java)
firstQuestion.java
package firstQuestion;
import java.util.Scanner;
import java.util.Calendar;
public class firstQuestion {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p = new Person();
Scanner sc = new Scanner(System.in);
System.out.print("输入姓名:");
p.setName(sc.next());
System.out.print("输入年龄:");
p.setAge(sc.nextInt());
System.out.print("输入ID:");
p.setId(sc.nextInt());
System.out.print("输入性别:");
p.setSex(sc.next());
mySelf(p.getAge(),p.getId(),p.getName(),p.getSex());
sc.close();
}
public static void mySelf(int age,int id ,String name,String sex){
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
System.out.println("我叫:"+name+",性别:"+sex+",工号"+id+",今年"+age+"岁, 至2026年"+(2026-year+age)+"岁");
}
}
Person.java
package firstQuestion;
public class Person {
public String name; //姓名
public int age;//年龄
public String sex;//性别
public int id;//工号
/*
* 构造函数
*/
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public void setSex(String sex){
this.sex = sex;
}
public void setId(int id){
this.id = id;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
public String getSex(){
return sex;
}
public int getId(){
return id;
}
}
2、 实现一个类Rectangle(长方形),属性有长,宽,面积。
要求:创建两个长宽不一的对象r1,r2,编写一个方法,输出两者的面积之差,差值不能为负值。
(俩个类:secondQuestion.java,Rectangle.java)
secondQuestion.java
package secondQuestion;
import java.util.Scanner;
public class secondQuestion {
public static void main(String[] args) {
// TODO Auto-generated method stub
Rectangle r1 = new Rectangle();
Rectangle r2 = new Rectangle();
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个长方形的长和宽!");
System.out.print("长:");
r1.setL(sc.nextDouble());
System.out.print("宽:");
r1.setK(sc.nextDouble());
System.out.println("请输入第二个长方形的长和宽!");
System.out.print("长:");
r2.setL(sc.nextDouble());
System.out.print("宽:");
r2.setK(sc.nextDouble());
comPare(r1.getArea(),r2.getArea());
sc.close();
}
public static void comPare(double s1,double s2){
if (s1 > s2){
System.out.println("第一个大于第二个,面积差"+(s1-s2));
}
else{
System.out.println("第二个大于第一个,面积差"+(s2-s1));
}
}
}
Rectangle.java
package secondQuestion;
public class Rectangle {
public double s;
public double l;
public double k;
public double getL(){
return l;
}
public double getK(){
return k;
}
public void setL(double l){
this.l = l;
}
public void setK(double k){
this.k = k;
}
public double getArea(){
return l * k;
}
}
3、 实现一个类MyAccount(账户),属性有:账号账户姓名 地址 存款余额 利率。方法:存款 取款 查询余额 计算利息(会有涉及8种基本类型,可以提前熟悉),带参和不带参的构造方法,带参的存取款方法等,要求创建对象并输出账户详情;存进1000元后的账户详情;取出500元的账户详情,余额不足要给出提示;修改利率后的账户详情
(三个类:thirdQuestion.java,MyAccount.java,lilvjs.java)thirdQuestion.java
package thirdQuestion;
import java.util.Scanner;
import java.math.BigDecimal;
public class thirdQuestion {
/**
* @param args
*/
static MyAccount man = new MyAccount();
public static void main(String[] args) {
// TODO Auto-generated method stub
//基本信息配置
man.setId(123456);
man.setName("陈浩");
man.setAddr("北京天安门");
man.setLilv("0.0001");
man.setYuE("88888");
menu();
}
//菜单选项
public static void menu(){
System.out.println("菜单选项:\r\n" +
"1.账户基本信息查看\r\n" +
"2.取款\r\n" +
"3.存款\r\n" +
"4.利率计算\r\n" +
"5.退出\r\n" +
"请输入选项前数字进行选择:");
Scanner sc = new Scanner(System.in);
int x = 0;
try{
x = sc.nextInt();
}catch(Exception e){
//System.out.println("请输入数字!!");
}
switch(x){
case 1:info();break;
case 2:qukuan();break;
case 3:cunkun();break;
case 4:lljs();break;
case 5:exit();break;
default:System.out.printf("输入无效,请重新输入!");menu();
}
sc.close();
}
//个人信息查询
public static void info(){
System.out.println("账户的基本信息:\r\n" +
"姓名:"+man.getName()+
"\r\n账号:"+man.getId()+
"\r\n地址:"+man.getAddr()+
"\r\n余额:"+man.getYuE()+
"\r\n"
);
System.out.println("查询完成\r\n" +
"1:返回菜单。2:直接退出\r\n" +
"请输入选项:");
Scanner sc = new Scanner(System.in);
int x = 0;
try{
x = sc.nextInt();
}catch(Exception e){
System.out.println("请输入数字!!");
};
queren(x);
sc.close();
}
//取款
public static void qukuan(){
System.out.println("当前账户余额为:" +man.getYuE()+
"\r\n请输入您要取款的金额:");
Scanner sc = new Scanner(System.in);
double x = 0;
try{
x = sc.nextDouble();
}catch(Exception e){
System.out.println("请输入有效数字!!取款失败!");
exit();
}
BigDecimal s1 = new BigDecimal(man.getYuE());
BigDecimal s2 = new BigDecimal(Double.toString(x));
int r = s1.subtract(s2).compareTo(BigDecimal.ZERO);
if(r>0||r==0){
man.setYuE(s1.subtract(s2).toString());
System.out.println("取款成功!\r\n" +
"当前余额为:"+man.getYuE()+
"\r\n1:返回菜单。2:直接退出\r\n" +
"请输入选项:");
int x1 = 0;
try{
x1 = sc.nextInt();
}catch(Exception e){
//System.out.println("请输入数字!!");
};
queren(x1);
}
else{
System.out.println("对不起,余额不足,取款失败!\r\n" +
"\r\n1:返回菜单。2:直接退出\r\n" +
"请输入选项:");
int x1 = 0;
try{
x1 = sc.nextInt();
}catch(Exception e){
//System.out.println("请输入数字!!");
};
queren(x1);
}
sc.close();
}
//存款
public static void cunkun(){
System.out.println("当前账户余额为:" +man.getYuE()+
"\r\n请输入您要存款的金额:");
Scanner sc = new Scanner(System.in);
double x = 0;
try{
x = sc.nextDouble();
}catch(Exception e){
System.out.println("请输入有效数字!!存款失败!");
exit();
}
BigDecimal s1 = new BigDecimal(man.getYuE());
BigDecimal s2 = new BigDecimal(Double.toString(x));
man.setYuE(s1.add(s2).toString());
System.out.println("存款成功!\r\n" +
"当前余额为:"+man.getYuE()+
"\r\n1:返回菜单。2:直接退出\r\n" +
"请输入选项:");
int x1 = 0;
try{
x1 = sc.nextInt();
}catch(Exception e){
//System.out.println("请输入数字!!");
};
queren(x1);
sc.close();
}
public static void lljs(){
Scanner sc = new Scanner(System.in);
System.out.print("当前本金为:" +man.getYuE()+
"\r\n请以小数的形式输入存款利率:");
double lv = 0;
try{
lv = sc.nextDouble();
}catch(Exception e){
System.out.println("请输入有效利率!!存款失败!");
exit();
}
//BigDecimal r = new BigDecimal(Double.toString(lv));
System.out.print("请以整数数的形式输入存款年限:");
int n = 1 ;
try{
n = sc.nextInt();
}catch(Exception e){
System.out.println("请输入有效年限!!存款失败!");
exit();
}
man.setLilv(Double.toString(lv));
man.setNian(n);
lilvjs l = new lilvjs();
l.setMoney(man.getYuE());
l.setLilv(man.getLiLv());
l.setNian(man.getNian());
l.getYe();
System.out.println("计算成功!\r\n" +
"\r\n1:返回菜单。2:直接退出\r\n" +
"请输入选项:");
int x1 = 0;
try{
x1 = sc.nextInt();
}catch(Exception e){
//System.out.println("请输入数字!!");
};
sc.close();
queren(x1);
}
public static void exit(){
System.out.println("谢谢使用,再见!");
}
public static void queren(int x){
if (x == 1){
menu();
}
else if (x == 2){
exit();
}
else{
System.out.println("输入错误!");
exit();
}
}
}
MyAccount.java
package thirdQuestion;
public class MyAccount {
public int id;
public String name;
public String addr;
public String yuE;
public String liLv;
public int nian;
public void setId(int id){
this.id = id;
}
public int getId(){
return id;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAddr(String addr){
this.addr = addr;
}
public String getAddr(){
return addr;
}
public void setYuE(String yuE){
this.yuE = yuE;
}
public String getYuE(){
return yuE;
}
public void setLilv(String liLv){
this.liLv = liLv;
}
public String getLiLv(){
return liLv;
}
public int getNian() {
return nian;
}
public void setNian(int nian) {
this.nian = nian;
}
}
lilvjs.java
package thirdQuestion;
import java.math.BigDecimal;
public class lilvjs {
public String money,lilv;
public int nian;
public String getMoney() {
return money;
}
public void setMoney(String money) {
this.money = money;
}
public String getLilv() {
return lilv;
}
public void setLilv(String lilv) {
this.lilv = lilv;
}
public int getNian() {
return nian;
}
public void setNian(int nian) {
this.nian = nian;
}
// Scanner sc = new Scanner(System.in);
// System.out.print("请输入本金:");
// money = sc.next();
// System.out.print("请输入利息:");
// lilv = sc.next();
// System.out.print("请输入年限:");
// nian = sc.nextInt();
public void getYe(){
BigDecimal mon = new BigDecimal(money);
BigDecimal Lil = new BigDecimal(lilv);
BigDecimal one = new BigDecimal("1");
System.out.println(
"本金:"+
money+
"\r\n利率:"+
lilv+
"\r\n在"+
nian+
"年后,变成了:"+
mon.multiply((one.add(Lil).pow(nian)))
);
}
}