0
点赞
收藏
分享

微信扫一扫

Java程序小案例

1.关于#java#的问题:假设 Sum 类中有一个addContinue(int n)方法(相关搜索:构造方法)

假设 Sum 类中有一个addContinue(int n)方法,当0<n<=20时,方法实现1+2+⋯•+n的和;当n≤=0时,方法抛出一个受检查的 ArgumentException 异常,在异常处理程序中告诉用户异常的原因。AngumentException.类应该提供一个能够接受并保存n值的构造方法,一个能返回n值的实例方法,现定义Sum 类以及 ArgumentException.类,并编程(Test类)测试它们。

package java_11_22;
 
import java.util.Scanner;
 
public class Test {
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        try {
            System.out.println(Sum.addContinue(n));
        } catch (ArgumentException e) {
            System.out.println("Invalid argument: " + e.get());
        }
    }
}
 
class Sum {
    public static int addContinue(int n) throws ArgumentException {
        int sumAll = 0;
        if (n <= 0) {
            throw new ArgumentException(n);
        } else if (n > 0 && n <= 20) {
            for (int i = 1; i <= n; i++) {
                sumAll += i;
            }
        } else {
			return -1;
		}
        return sumAll;
    }
}
 
@SuppressWarnings("serial")
class ArgumentException extends Exception {
    private int n;
 
    public ArgumentException(int n) {
        this.n = n;
    }
 
    public int get() {
        return n;
    }
}

情况1:

Java程序小案例_构造方法

情况2:

Java程序小案例_System_02

情况3:

Java程序小案例_System_03

2.编写一个程序,将学生信息存储到链表中并输出学生信息,然后将链表中的学生英语成绩单存放到一个树集中,并按照成绩自动排序,输出排序结果。

【思路分析】

(1)使用封装定义学生类,包括姓名和英语成绩,并重写comparable接口方法。

(2)创建10个学生对象,存储到LinkedList集合中,使用迭代器Iteration输出。

(3)把所有学生对象存储到TreeSet集合中,使用迭代器Iteration输出排序信息。

请同学们参考上以描述,编写一个完整程序。

Java程序小案例_System_04

package java_11_22;
 
import java.util.Iterator;
import java.util.LinkedList;
import java.util.TreeSet;
 
public class Student implements Comparable<Student> {
    private String name;
    private int grade;
 
    public Student(String name, int grade) {
        super();
        this.name = name;
        this.grade = grade;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getGrade() {
        return grade;
    }
 
    public void setGrade(int grade) {
        this.grade = grade;
    }
 
    public static void main(String[] args) {
        System.out.println("-------------------LinkedList集合输出-----------------------");
        LinkedList<Student> stuList = new LinkedList<Student>();
        stuList.add(new Student("s1", 99));
        stuList.add(new Student("s2", 89));
        stuList.add(new Student("s3", 96));
        stuList.add(new Student("s4", 92));
        stuList.add(new Student("s5", 69));
        Iterator<Student> i = stuList.iterator();
        while (i.hasNext()) {
            Student student = (Student) i.next();
            System.out.println("name:" + student.getName() + "  grade:" + student.getGrade());
        }
        System.out.println("-------------------TreeSet集合排序输出-----------------------");
        TreeSet<Student> stuTree = new TreeSet<Student>();
        stuTree.add(new Student("t1", 99));
        stuTree.add(new Student("t2", 89));
        stuTree.add(new Student("t3", 96));
        stuTree.add(new Student("t4", 92));
        stuTree.add(new Student("t5", 69));
        Iterator<Student> j = stuTree.iterator();
        while (j.hasNext()) {
            Student student = (Student) j.next();
            System.out.println("name:" + student.getName() + "  grade:" + student.getGrade());
        }
    }
 
    @Override
    public int compareTo(Student o) {
        // TODO Auto-generated method stub
        return this.grade - o.grade;
    }
}

Java程序小案例_构造方法_05

3.java构造方法,求解答学生信息:

1、 创建一个学生信息类,包含:姓名,性别,年龄,爱好。

2、 分别创建无参,带1个参数和带4个参数的构造方法。

3、 创建一个方法,显示学生姓名,性别,年龄,爱好。

4、 创建3个学生信息类的对象,分别用不同的构造方法初始化。显示出学生的各项信息。

package java_11_15;
 
public class Student {
 
    private String name;
    private String sex;
    private int age;
    private String aihao;
 
    public Student() {
        super();
    }
 
    public Student(String name) {
        super();
        this.name = name;
    }
 
    public Student(String name, String sex, int age, String aihao) {
        super();
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.aihao = aihao;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getSex() {
        return sex;
    }
 
    public void setSex(String sex) {
        this.sex = sex;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
    public String getAihao() {
        return aihao;
    }
 
    public void setAihao(String aihao) {
        this.aihao = aihao;
    }
 
    public void putMsg() {
        System.out.println("名字:" + this.name);
        System.out.println("性别:" + this.sex);
        System.out.println("年龄:" + this.age);
        System.out.println("爱好:" + this.aihao);
    }
}

package java_11_15;
 
public class StudentShow {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student student = new Student();
        Student student2 = new Student("zs");
        Student student3 = new Student("ls", "女", 20, "游泳");
        student.putMsg();
        student2.putMsg();
        student3.putMsg();
    }
 
}

Java程序小案例_System_06

4.题目:定义一个教师类Teacher, 要求如下:

(a)教师的姓名(name, String类型) 。所授课程(course.Sturing类型)、课时数量(courseNum, int类型 和课时系数(radio, double类型) 、所有教师的课时系数相同。属性均是私有的。

(b)提供-个有参的构造方法(要求包括姓名,所授课程、课时数至)。

(c)为私有属性提供访问器方法。

(d)义一个计算课时当量的courseCompute方法(课时当量=课时量系数)。返回值类型为double.

(e)定义一个计算课时费的moneyCompute0方法(课时费=课时当量钱数、如果当量超过100.每课时30元当量不超过100每课时20元)

要求所有方法都是共有的。

package java_11_12;
 
public class Teacher {
    private String name;
    private String course;
    private int courseNum;
    private double radio;
 
    public Teacher(String name, String course, int courseNum, double radio) {
        super();
        this.name = name;
        this.course = course;
        this.courseNum = courseNum;
        this.radio = radio;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getCourse() {
        return course;
    }
 
    public void setCourse(String course) {
        this.course = course;
    }
 
    public int getCourseNum() {
        return courseNum;
    }
 
    public void setCourseNum(int courseNum) {
        this.courseNum = courseNum;
    }
 
    public double getRadio() {
        return radio;
    }
 
    public void setRadio(double radio) {
        this.radio = radio;
    }
 
    public double courseCompute() {
        return radio;
 
    }
 
    public double moneyCompute() {
        if (radio > 100) {
            return 30 * courseNum;
        } else {
            return 20 * courseNum;
        }
    }
}

人生是一场长途旅行,很多梦想的实现,并不是浓缩在一天之内,而是在张弛有度中,慢慢地向目标靠近。积极暗示,自我鼓励;停止攀比,专注自我;放慢节奏,张弛有度…找到适合自己的减压方式,慢慢来,愿你轻装前行,把生活过成自己想要的样子。😉😉😉



举报

相关推荐

0 条评论