diff --git a/five.java b/1025/five.java similarity index 100% rename from five.java rename to 1025/five.java diff --git a/four.java b/1025/four.java similarity index 100% rename from four.java rename to 1025/four.java diff --git a/one.java b/1025/one.java similarity index 100% rename from one.java rename to 1025/one.java diff --git a/three.java b/1025/three.java similarity index 100% rename from three.java rename to 1025/three.java diff --git a/two.java b/1025/two.java similarity index 100% rename from two.java rename to 1025/two.java diff --git a/1029/five.java b/1029/five.java new file mode 100644 index 0000000..782777f --- /dev/null +++ b/1029/five.java @@ -0,0 +1,29 @@ +/*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/1029/four.java b/1029/four.java new file mode 100644 index 0000000..1f30157 --- /dev/null +++ b/1029/four.java @@ -0,0 +1,25 @@ +/*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。 — 个 名 为 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/1105/main.java b/1105/main.java new file mode 100644 index 0000000..5ead2ad --- /dev/null +++ b/1105/main.java @@ -0,0 +1,4 @@ +package 第三次java作业; + +public class main { +} diff --git a/scratch.java b/scratch.java deleted file mode 100644 index ca51309..0000000 --- a/scratch.java +++ /dev/null @@ -1,43 +0,0 @@ -class Scratch { - public static void main(String[] args) { - import java.util.Scanner; -/** - * @author 冰樱梦 - * 时间:2018年12月 - * 题目:求矩阵主对角线元素的和 - * - */ - public class Exercise08_02 { - public static void main(String[] args){ - Scanner input=new Scanner(System.in); - System.out.println("Enter the arrays row: "); - int row=input.nextInt(); - System.out.println("Enter the arrays column: "); - int col=input.nextInt(); - double[][] list=new double[row][col]; - for(int i=0;i