Java面向对象第二章方法与方法重载练习题

 练习1:简易计算器

需求说明

实现简易计算器,分别实现两个整数、三个浮点数的加法运算

package dierzhang;

import java.util.Scanner;

public class LianxiCounter {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		//读取键盘
		while(true) {
			
		
		System.out.println("1 两个整数相加,2 三个浮点数相加,其他 结束");
		int ww = sc.nextInt();
		if(ww==1) {
			while(true) {
					int s = sc.nextInt();
					int s2 = sc.nextInt();
					Counter s1 = new Counter(s,s2);
					break;
				}
			}else if(ww==2) {
				while(true) {
					double s = sc.nextDouble();
					double s2 = sc.nextDouble();
					double s3 = sc.nextDouble();
					Counter s1 = new Counter(s,s2,s3);
					break;
				}
			}else {
				System.out.println("程序结束");
					break;
				}
	}
}
}

运行:

1 两个整数相加,2 三个浮点数相加,其他 结束
2
1.11
2.22
11.
14.33
1 两个整数相加,2 三个浮点数相加,其他 结束
3
程序结束

1.构造方法 编写Java程序模拟简单的计算器。 定义名为Number的类其中有两个整型数据成员n1和n2应声明为私有。
编写构造方法赋予n1和n2初始值再为该类定义加addition、减subtration、乘multiplication、
除division等公有成员方法分别对两个成员变量执行加、减、乘、除的运算。 
在main方法中创建Number类的对象调用各个方法并显示计算结果

 

package dierzhang;

public class Number {
		public int n1;
		public int n2;
		public  Number(int n1,int n2) {
			this.n1 = n1;
			this.n2 = n2;
		}
		public int addition() {
			return n1+n2;
		}
		public int subtration() {
			return n1-n2;
		}
		public int multiplication() {
			return n1*n2;
		}
		public int division() {
			return n1/n2;
		}
}
package dierzhang;

import java.util.Scanner;

public class Lianxi1 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入数字");
		int w = sc.nextInt();
		int ww = sc.nextInt();
		Number m = new Number(w,ww);
		int s1 = m.addition();
		int s2 = m.subtration();
		int s3 = m.multiplication();
		int s4 = m.division();
		System.out.println("相加:"+s1+"相减:"+s2+"相乘:"+s3+"相除:"+s4);
	}

}

 运行:

请输入数字
2
2
相加:4相减:0相乘:4相除:1

2. 编写Java程序用于显示人的姓名和年龄。 定义一个人类Person该类中应该有两个私有属性姓名name和年龄age。
定义构造方法用来初始化数据成员。再定义显示display方法将姓名和年龄打印出来。
 在main方法中创建人类的实例然后将信息显示

package dierzhang;
	/**
	 * 人类类
	 * @author 26255
	 *
	 */
public class Person {
	public String name;
	public int age;
	public Person(String name,int age) {
		this.name = name;
		this.age = age;
	}
	public void display() {
		System.out.println("姓名:"+this.name+"\n年龄:"+this.age);
		
	}
}

 

package dierzhang;

import java.util.Scanner;

public class Lianxi2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入姓名:");
		String x = sc.next();
		System.out.println("请输入年龄:");
		int n = sc.nextInt();
		Person m = new  Person(x,n);
		m.display();
	}

}

运行:

请输入姓名:
ada
请输入年龄:
12
姓名:ada
年龄:12


3.构造方法与重载 为“无名的粉”写一个类class WuMingFen 要求:
     1.有三个属性 面码:String theMa 粉的分量(两) int quantity 是否带汤 boolean likeSoup
     2.写一个构造方法 以便于简化初始化过程 如 WuMingFen f1 = new WuMingFen(“牛肉”,3,true); 
    3.重载构造方法 使得初始化过程可以多样化 WuMingFen f2 = new WuMingFen(“牛肉”,2); 
    4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的 WuMingFen f3 = new WuMingFen(); 
    5.写一个普通方法 check() 用于查看粉是否符合要求。即 将对象的三个属性打印在控制台上

package dierzhang;
	/**
	 * 无名的粉
	 * @author 26255
	 *
	 */
public class WuMingFen {
	public String theMa = "酸辣";
	public int quantity = 2;
	public boolean likeSoup = false;
	
	public WuMingFen() {
		likeSoup = true;
	}
	public WuMingFen(String theMa,int quantity,boolean likeSoup) {
		this.theMa = theMa;
		this.quantity = quantity;
		this.likeSoup = likeSoup;
	}
	public WuMingFen(String theMa,int quantity) {
		this.theMa = theMa;
		this.quantity = quantity;
		
	}
	public void  check() {
		System.out.println("面吗;"+theMa+"\n 粉的分量"+quantity+"两 \n是否带汤:"+likeSoup);
		
	}
}
package dierzhang;

import java.util.Scanner;

/**
	 * 无名的粉
	 * @author 26255
	 *
	 */
public class Lianxi3 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String theMa = sc.next();
		int quantity = sc.nextInt();
		boolean likeSoup = sc.nextBoolean();
		
		WuMingFen s1 = new WuMingFen();
		WuMingFen s2 = new WuMingFen(theMa,quantity);
		WuMingFen s3 = new WuMingFen(theMa,quantity,likeSoup );
		
		s1.check();
		s2.check();
		s3.check();
	}

}

 

酸辣
2
true
面吗;酸辣
 粉的分量2两 
是否带汤:true
面吗;酸辣
 粉的分量2两 
是否带汤:false
面吗;酸辣
 粉的分量2两 
是否带汤:true


4.定义一个网络用户类 要处理的信息有用户ID、用户密码、email地址。
在建立类的实例时 把以上三个信息都作为构造函数的参数输入 其中用户ID和用户密码时必须的 
缺省的email地址是用户ID加上字符串”

package dierzhang;
	/**
	 * 网络用户类
	 * @author 26255
	 *
	 */
public class Netuser {
	//用户ID
	public int id;
	//用户密码
	public String password;
	//email地址
	public String email;
	
	public Netuser(int id,String password,String email) {
		this.setId(id);
		this.setPassword(password);
		this.email =email;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
}
package dierzhang;

public class Lianxi4 {

	public static void main(String[] args) {
		Netuser m = new Netuser(12346,"嗡嗡嗡" ,12346+"qqq");
		System.out.println("用户ID:"+m.id);
		System.out.println("用户密码:"+m.password);
		System.out.println("email地址:"+m.email);
	}

}

运行:

用户ID:12346
用户密码:嗡嗡嗡
email地址:12346qqq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒洋洋大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值