diff --git a/1105/Account.java b/1105/Account.java new file mode 100644 index 0000000..f1df7f8 --- /dev/null +++ b/1105/Account.java @@ -0,0 +1,78 @@ +/*9.7 (账 户类 Account)设计一个名为 Account 的类,它包括: — 个名为 id的 int 类型私有数据域(默认值为 0)。 — 个名为 balance 的 double 类型 +私有数据域(默认值为 0>。 — 个 名 为 annuallnterestRate 的 double 类型私有数据域存储当前利率(默认值为 0)。假 + 设所有的篆户都有相同的利率。 — 个 名 为 的 Date 类型的私有数据域,存储账户的开户日期。 — 个用于创建默认账户的无参构造方法。一个用于创建带特定 + id 和初始余额的账户的构造方法。 + id、balance 和 annuallnterstRate 的访问器和修改器。 + dateCreated 的访问器。 + 一个名为 getMonthlyInterestRate()的方法,返回月利率。 — 个名为 withDraw 的方法,从账户提取特定数额。 — 个名为 deposit 的方法向账户存储特定数额。*/ + package 第三次java作业; + +import java.util.Date; +import java.util.Scanner; + +public class Account { + private int id = 0; + private double balance = 0; + private double annuallnterestRate = 0; + private Date date = new Date(); + + public int createAccount() { + System.out.println("您的账户名为" + id); + System.out.println("您的账户余额为" + balance); + return id; + } + + public void createyourAccount() { + System.out.println("请输入账户名称"); + Scanner input1 = new Scanner(System.in); + String idYours = input1.nextLine(); + System.out.println("您的账户余额为" + balance); + Scanner input2 = new Scanner(System.in); + String balanceYours = input2.nextLine(); + } + + public int getId() { + return id; + } + + public void setId() { + this.id = id; + } + + public double getBalance() { + return balance; + } + + public void setBalance() { + this.balance = balance; + } + + public double getAnnuallnterestRate() { + return annuallnterestRate; + } + + public void setAnnuallnterestRate() { + this.annuallnterestRate = annuallnterestRate; + } + + public double getMonthlyInterestRate() { + double MonthlyInterestRate = annuallnterestRate / 12; + return MonthlyInterestRate; + } + + public double withdraw() { + System.out.println("请输入您想提取的金额数量"); + Scanner input3 = new Scanner(System.in); + double withdraw = input3.nextDouble(); + balance = balance - withdraw; + return balance; + } + + public double deposit() { + System.out.println("请输入您想提取的金额数量"); + Scanner input3 = new Scanner(System.in); + double deposit = input3.nextDouble(); + balance = balance + deposit; + return balance; + } +} diff --git a/1105/Course.java b/1105/Course.java new file mode 100644 index 0000000..49843c4 --- /dev/null +++ b/1105/Course.java @@ -0,0 +1,66 @@ +/*13.13 (使得 Course 类可复制)重写程序淸单丨0-6中的 Course 类,增加一个 clone 方法,执行 +students 域上的深度复制。*/ + +package 第三次java作业; + +//在10-6的基础上,使用Cloneable接口 +public class Course implements Cloneable {//以下的数据域和方法来自10-6的要求 + private String courseName; + private String[] students = new String[100]; + private int numberOfStudents; + + public Course(String courseName) { + this.courseName = courseName; + } + + //从这门课添加一个学生 + public void addStudent(String student) { + students[numberOfStudents] = student; + numberOfStudents++;//学生总数增加 + } + + //返回这门课的学生 + public String[] getStudents() { + return students; + } + + //返回这门课的学生人数 + public int getNumberOfStudents() { + return numberOfStudents; + } + + //返回课程名 + public String getCourseName() { + return courseName; + } + + //从这门课程中删除一个学生 + public void dropStudent(String student) {//根据名字,遍历找出要drop的学生 + if (student == null) { + System.out.println("请输入删除的学生姓名"); + } + ; + for (int i = 0; i < numberOfStudents; i++) { + if (students[i] == student) {//如果找到 + for (int j = i + 1; j < numberOfStudents; i++, j++) {//将该学生后面的 + students[i] = students[j]; + } + } + numberOfStudents--;//学生总数减少一个 + } + } + + @Override + public Object clone() throws CloneNotSupportedException { + try { + Course course1 = (Course) super.clone(); + course1.students = new String[100]; + System.arraycopy(students, 0, course1.students, 0, 100); + course1.courseName = courseName; + course1.numberOfStudents = numberOfStudents; + return course1; + } catch (CloneNotSupportedException ex) { + return null; + } + } +} diff --git a/1105/arrayList.java b/1105/arrayList.java new file mode 100644 index 0000000..438f61c --- /dev/null +++ b/1105/arrayList.java @@ -0,0 +1,46 @@ +/*13.3 (排 序 ArrayList ) 编写以下方法,对 ArrayList 里面保存的数字进行排序。 +public static void sort(ArrayList list)*/ + +package 第三次java作业; +import java.util.ArrayList; +import java.util.Arrays; + +public class arrayList { + public static void main(String[] args) { + Integer[] number = {1, 2, 5, 9, 20, 15, 17}; + ArrayList list = new ArrayList<>(Arrays.asList(number));//创建arrayList + + System.out.println("最初的ArrayList:" + list); + sort(list); + System.out.println("升序排列的ArrayList:" + list);//打印原来的和排序后的动态数组 + + //测试 + list.add(100); + list.add(18);//list加入两个新的整数 + System.out.println("加入新元素的ArrayList:" + list);//打印新的list + sort(list); + System.out.println("升序排列的ArrayList:" + list);//对list进行排序 + } + + public static void sort(ArrayList list) { + Number temp = list.get(0); + + if (list.isEmpty() || list.size() == 0) {//ArrayList为空,程序结束 + System.out.println("Arraylist为空"); + return; + } + + if(list.size()==1) System.out.println(list);//Arraylist只有一个元素,不用排序 + + + for (int i = 0; i < list.size(); i++) {//进行冒泡排序 + for (int j = 0; j < list.size()-i-1; j++) { + if (list.get(j).doubleValue() > list.get(j + 1).doubleValue()) {//如果下标j的值>j+1的,两者交换,否则不变 + temp = list.get(j); + list.set(j, list.get(j + 1)); + var set = list.set(j + 1, temp); + } + } + } + } +} \ No newline at end of file diff --git a/1105/getnewDate.java b/1105/getnewDate.java new file mode 100644 index 0000000..6a2925e --- /dev/null +++ b/1105/getnewDate.java @@ -0,0 +1,28 @@ +/*9.3 (使用曰期类 Date) 编写程序创建一个 Date 对象,设置它的流逝时间分别为 10000、100000、 +1000000、10000000、100000000、1000000000、10000000000、100000000000, 然后使用 +toStringO 方法分别显示上述日期。*/ +import java.util.Date; + +public class getnewDate { + //用于显示日期 + public static void printDate(long l, Date date) { + System.out.println("流逝时间为"+l + ": " +","+","+"则日期为"); + System.out.println(date.toString()); + } + public static void main(String[] args) { + long l = 10000;//用于记录最新的流逝时间 + + Date date = new Date(l);//新建一个data + printDate(l, date);//调用printData函数输出时间流流逝的日期 + l *= 10;//流逝时间变为10000 + + //通过for循环让l不断增加,循环输出新的时间 + for(int i = 0; i < 7; i++) { + date.setTime(l);//setTime重新设定流失时间 + printDate(l, date); + l *= 10; + } + } + +} + diff --git a/6.4.java b/6.4.java deleted file mode 100644 index f7332a7..0000000 --- a/6.4.java +++ /dev/null @@ -1,23 +0,0 @@ -import java.util.Scanner; - -class Scratch { - public static void main(String[] args) { - System.out.println("请输入一个整数"); - Scanner input = new Scanner(System.in); - int number = input.nextInt(); - System.out.println(number + "反向数为" + reverse(number)); - - } - - public static int reverse(int number) { - int temp = 0; - int a = 0; - while (number != 0) { - a = number % 10; - number = number / 10; - temp = temp * 10 + a; - - } - return temp; - } -} \ No newline at end of file diff --git a/five.java b/five.java deleted file mode 100644 index 782777f..0000000 --- a/five.java +++ /dev/null @@ -1,29 +0,0 @@ -/*8.2(求矩阵主对角线元素的和)编写一个方法,求 nxn 的 double 类型矩阵中主对角线上所有数宇 -的和,使用下面的方法头: -public static double sumMajorDiagonal (double[][] m)*/ - -import java.util.Scanner; - -class Scratch { - public static void main(String[] args) { - System.out.println("Enter a 4-by-4 matrix row by row:"); - Scanner input = new Scanner(System.in); - int row = input.nextInt(); - int col = input.nextInt(); - double[][] matrix = new double[row][col]; - for (int i = 0; i < matrix.length; i++) { - for (int j = 0; j < matrix[i].length; j++) { - matrix[i][j] = input.nextDouble(); - } - } - System.out.println("Sum of the elements in the major diagonal is "+sumMajorDiagonal(matrix)); - } - - public static double sumMajorDiagonal(double[][] m) { - double sum = 0; - for (int i = 0; i < m.length; i++) { - sum = sum + m[i][i]; - } - return sum; - } -} diff --git a/four.java b/four.java deleted file mode 100644 index 1f30157..0000000 --- a/four.java +++ /dev/null @@ -1,25 +0,0 @@ -/*7.10 (找出最小元素的下标)编写一个方法,求出整数数组中最小元素的下标。如果这样的元素个数 -大于丨,则返回最小的下标。使用下面的方法头:*/ -import java.util.Scanner; - -class Scratch { - public static void main(String[] args) { - System.out.println("请输入10个数字"); - Scanner in = new Scanner(System.in); - double[] array = new double[10]; - for(int i =0;i