2.编程题:
要求:
1).Person类有name,age,salary属性,要求实现至少两个构造方法,并且属性私有,提供对应的getter、setter。
2).覆写toString方法,要求在System.out.println()函数中传递Person对象能打印出三个属性值而不是对象地址。
3).覆写equals方法,要求两个Person类对象的值相同时返回true。
3.说出下列程序的执行结果,并说明原因:
Integer a = 55;
Integer b = 55;
System.out.println(a==b);
System.out.println(a==new Integer(55));
System.out.println(a.equals(new Integer(55)));
Integer c = 129;
Integer d = 129;
System.out.println(c==d);
true
false
true
false
4.写出懒汉式单例模式
class Singleton{
private static Singleton singleton=new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return singleton;
}
}
public class Test{
public static void main(String[] args) {
Singleton singleton=Singleton.getInstance();
}
}
5.编程:
1).定义一个MulException类继承Exception类,要求两数相乘等于100报错,在主类中定义一个方法,在方法中抛
出此异常,在主方法观察结果。
2).定义一个DivException类继承RuntimeException类,要求两数相除等于2报错,在主类中定义一个方法,在方法
中抛出此异常,在主方法观察结果。
import java.util.Scanner;
class MyException extends Exception{ //自定义异常类,继承Exception类
public MyException(String msg){ //构造方法接收异常信息
super(msg); //调用父类中的构造方法
}
}
public class Test{
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
System.out.print("请输入一个整数:");
int a = scan.nextInt();
System.out.print("请输入另外一个整数:");
int b = scan.nextInt();
int Mul = a * b;
if(Mul==100){
try{
throw new MyException("两数相乘等于100!"); //抛出异常
}catch(Exception e){ //异常处理
System.out.println(e);
}
}
else
System.out.print("他们的积是:" + Mul);
}
}
6.(算法)
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个 第二天早上又将剩下
的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下
一个桃子了。求第一天共摘了多少。