Mrli
别装作很努力,
因为结局不会陪你演戏。
Contacts:
QQ博客园

Java课程第二次实验报告

2019/09/15 java NJUPT
Word count: 999 | Reading time: 5min

Java课程第二次实验报告

1.寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

public class HelloWorld {
public static boolean isPalindrome(int s) {
String str = Integer.toString(s);
if( str.charAt(0) == str.charAt(str.length() - 1) )
return true;
else return false;
}

public static void main(String []args) {
for (int s = 11; s < 1000; s++) {
if (isPalindrome(s) && isPalindrome(s*s) && isPalindrome(s*s*s) )
System.out.println(s);
}

}

}

2.由键盘输入10个整数,比较并输出其中的最大值和最小值。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.Scanner;

public class HelloWorld {
public static void main(String []args) {
Scanner s = new Scanner(System.in);
int []arr = new int[10];
int maxn = -1000000000;
int minn = 1000000000;
for (int i = 0; i < 10; i++) {
arr[i] = s.nextInt();
if ( arr[i] < minn ) minn = arr[i];
if ( arr[i] > maxn) maxn = arr[i];
}
System.out.printf("最大值:%d ,最小值:%d \n",maxn,minn);
}
}

3.随机产生50个1-100之间的整数,存放于一个10´5的二维数组中,要求按照10´5的格式打印这个数组(即共显示10行,每行5个数,数与数之间间隔一个空格),并求出该数组所有元素之和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

public class HelloWorld {

final static int row = 10;
final static int col = 5;
static int [][]arr = new int[row][col];

public static void main(String []args) {
int sum = 0;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
arr[i][j] = (int)(Math.random()*100 + 1);
sum += arr[i][j];
System.out.printf("%d ",arr[i][j]);
}
System.out.println();
}
System.out.println("SUM:"+sum+"");
}
}

4.学生类的创建和使用

①创建一个学Student类,成员变量包括:学号、班号、姓名、性别、年龄等,且都是private类型。

②声明一个构造方法,初始化所有成员变量。

③分别声明获得各属性的public类型的成员方法,方法名要求以get开头。

④分别声明修改各属性的public类型的成员方法,方法名要求以set开头。

⑤声明一个public类型的toString()方法,把该类中的所有域信息组合成一个字符串。

⑥声明统计创建Student对象的个数的私有域count和得到Student对象的个数的public方法。

⑦将类Student放在子包student中。

⑧在子包student外,创建测试类Student的主类。

在主类中:创建2个Student对象,输出对象的所有域信息;修改对象的姓名和年龄,输出修改后的姓名和年龄;比较两个Student对象的年龄的大小,输出年龄较大的Student对象。

Student.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package student;

public class Student {
private int uid;
private int classNum;
private String name;
private String gender;
private int age;
private static int cnt = 0;

public Student(int uid , int classNum , String name , String gender , int age) {
this.uid = uid;
this.classNum =classNum;
this.name = name;
this.gender = gender;
this.age = age;
cnt += 1;
// TODO Auto-generated constructor stub
}

public void setUid(int uid) {
this.uid = uid;
}

public int getUid() {
return uid;
}

public void setClassNum(int classNum) {
this.classNum = classNum;
}

public int getClassNum() {
return classNum;
}

public void setName(String name) {
this.name = name;
}

public String getName() {
return name;
}

public void setGender(String gender) {
this.gender = gender;
}

public String getGender() {
return gender;
}

public void setAge(int age) {
this.age = age;
}

public int getAge() {
return age;
}

public static int getCnt() {
return cnt;
}

@Override
public String toString() {
// TODO Auto-generated method stub
return String.format("学号为%d的同学,在%d班,姓名为%s,性别为%s,年龄为%d,",
uid,classNum,name,gender,age);
}

}

HelloWorld.java

1
2
3
4
5
6
7
8
9
10
11
12
13
import student.*;
public class HelloWorld {
public static void main(String []args) {
Student stu1 = new Student(1,1,"cl", "male", 20);
Student stu2 = new Student(3,2,"cjl", "female", 20);
System.out.println(stu1);
System.out.println(stu2);
stu1.setName("cl2");
stu1.setAge(21);
System.out.printf("修改之后的姓名:%s,修改后的年龄:%d\n",stu1.getName(),stu1.getAge());
System.out.println( stu1.getAge() > stu2.getAge() ?stu1 : stu2);
}
}

Author: Mrli

Link: https://nymrli.top/2019/04/25/Java课程第二次实验报告/

Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.

< PreviousPost
ACM-并查集
NextPost >
ACM-大数定理(高精度)
CATALOG
  1. 1. Java课程第二次实验报告
    1. 1.1. 1.寻找并输出11~999之间的数m,它满足m、m2、m3均为回文数。回文数是各位数字左右对称的整数。判断是否为回文要求通过编写方法来完成。
    2. 1.2. 2.由键盘输入10个整数,比较并输出其中的最大值和最小值。
    3. 1.3. 3.随机产生50个1-100之间的整数,存放于一个10´5的二维数组中,要求按照10´5的格式打印这个数组(即共显示10行,每行5个数,数与数之间间隔一个空格),并求出该数组所有元素之和。
    4. 1.4. 4.学生类的创建和使用
      1. 1.4.0.1. Student.java
      2. 1.4.0.2. HelloWorld.java