public class Test1 {
public static void main(String[] args) {
int[][] a =
new int[][] {
{1, 2, 3, 4, 5},
{1, 2, 3, 4, 5},
{1, 2, 3, 4, 5},
{1, 2, 3, 4, 5},
{1, 2, 3, 4, 5}
};
for (int[] b : a) {
for (int c : b) {
System.out.println(c);
}
}
}
}
public class Test2 {
public static void main(String[] args) {
for (int i = 1; i < 6; ++i) {
for (int j = 1; j <= i; ++j) {
if (j != i) System.out.print(j);
else {
System.out.println(j);
}
}
}
}
}
public class Test3 {
public static void main(String[] arg) {
int[][] a = new int[][] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[][] d = new int[3][3];
for (int i = 0; i < a.length; ++i) {
for (int j = 0; j < a[i].length; ++j) {
d[i][j] = a[j][i];
}
}
for (int[] b : d) {
for (int c : b) {
System.out.print(c);
}
System.out.println(" ");
}
}
}
// 1、 定义一个计算类,属性:两个整形数;方法:构造函数、求两个数的和,求两个数的差;定义一个对象,调用求和、求差的函数计算结果。
public class Test4 {
public static void main(String[] args) {
Cal a = new Cal(1, 2);
System.out.println(a.plus());
System.out.println(a.minus());
}
}
class Cal {
private int a;
private int b;
Cal(int a, int b) {
this.a = a;
this.b = b;
}
public int plus() {
return this.a + this.b;
}
public int minus() {
return this.a - this.b;
}
}
// 2、 定义一个长方形类,属性:长、宽;方法:构造函数、计算求面积、计算求周长;定义一个对象,计算长方形的面积和周长。
public class Test5 {
public static void main(String[] args) {
T a = new T(6f, 8f);
System.out.println(a.mianji());
System.out.println(a.zhouchang());
}
}
class T {
private float a;
private float b;
T(float a, float b) {
this.a = a;
this.b = b;
}
public float mianji() {
return a * b;
}
public float zhouchang() {
return 2 * (a + b);
}
}
// 3、 定义一个人类,属性:姓名,年龄,性别;方法:构造函数,修改年龄;定义一个对象,设置年龄为20,输出姓名、年龄和性别。
public class Test6 {
public static void main(String[] args) {
Person a = new Person("名字", 10, "男");
a.changeAge(20);
System.out.printf("%s %d %s", a.name, a.age, a.sex);
}
}
class Person {
String name;
int age;
String sex;
Person(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public void changeAge(int newAge) {
this.age = newAge;
}
}
// 4、
// 定义一个日期类,属性:年、月、日;方法:设置日期(包括年、月、日)、计算是否是闰年、比较日期的前后(输入一个日期,计算两者的差);定义一个对象,设置日期为当前日期,查看今年是否为闰年,计算距离2019年12月31日还有几天。
public class Test7 {
public static void main(String[] args) {
Date a = new Date();
a.setDate(2020, 10, 6);
System.out.println(a.isLeap());
}
}
class Date {
int year;
int month;
int day;
public void setDate(int year, int month, int day) {
this.day = day;
this.month = month;
this.year = year;
}
public boolean isLeap() {
if (this.year % 4 == 0 && this.year % 100 != 0) return true;
else if (this.year % 400 == 0 && this.year % 3200 != 0) return true;
else if (this.year % 80000 == 0) return true;
else return false;
}
}
// 5、 定义一个数类,属性:一个浮点型数;方法:构造函数、输出它的整数部分、输出它的小数部分、输出它的绝对值、输出它的相反数;定义一个对象(1.2),调用它的所有方法。
public class Test8 {
public static void main(String[] args) {
Num a = new Num(3.32f);
a.outAbsoluteValue();
a.outDecimal();
a.outInteger();
a.outOppositeNumber();
}
}
class Num {
float num;
Num(float num) {
this.num = num;
}
public void outInteger() {
System.out.println((int) this.num);
}
public void outDecimal() {
String str = String.valueOf(num).replaceAll("\\d+\\.", "");
System.out.println("0." + str);
}
public void outAbsoluteValue() {
System.out.println(this.num >= 0 ? this.num : 0 - this.num);
}
public void outOppositeNumber() {
System.out.println(0 - this.num);
}
}
// 6、 定义一个向量类,属性:一个维度为3的向量(int a[]=new int[3]; int
// x1,x2,x3;);方法:设置向量的值、求向量的长度(Math.sqrt(num))、求两个向量的内积(输入另外一个向量);定义一个对象,设置向量的值为(1,0,0),求向量的长度,计算该向量和(0,1,0)的内积。
public class Test9 {
public static void main(String[] args) {
Vector a = new Vector();
a.setV(1, 0, 0);
a.outLength();
System.out.println(a.getNei(0, 1, 0));
}
}
class Vector {
int[] a = new int[3];
int x1, x2, x3;
public void setV(int x1, int x2, int x3) {
this.x1 = x1;
this.x2 = x2;
this.x3 = x3;
}
public void outLength() {
int num = x1 * x1 + x2 * x2 + x3 * x3;
System.out.println(Math.sqrt(num));
}
public int getNei(int x, int y, int z) {
return x1 * x + x2 * y + x3 * z;
}
}
// 7、 定义一个成绩类,属性:一个int数组(有10个元素),均分;方法:输入成绩、求均分、求最高分、求不及格人数;定义一个对象,输入10个人成绩,求均分、求最高分和不及格人数。
public class Test10 {
public static void main(String[] args) {
Grades a = new Grades();
a.setGrades(new int[] {65, 34, 87, 45, 67, 25, 28, 89, 59, 19});
System.out.println(a.getAvg());
System.out.println(a.getMax());
System.out.println(a.getNotPass());
}
}
class Grades {
int[] arr = new int[10];
int avg;
public void setGrades(int[] a) {
for (int i = 0; i < 10; ++i) {
arr[i] = a[i];
}
}
public int getAvg() {
for (int i : arr) {
avg += i;
}
return avg /= 10;
}
public int getMax() {
int max = arr[0];
for (int i : arr) {
if (i > max) {
max = i;
}
}
return max;
}
public int getNotPass() {
int a = 0;
for (int i : arr) {
if (i < 60) {
a++;
}
}
return a;
}
}
// 8、 定义一个排序类,属性:一个int数组(有5个元素);方法:实现冒泡排序、实现选择排序;定义一个对象(1,12,-5,90,11),调用函数实现排序。
public class Test11 {
public static void main(String[] args) {
Sort a = new Sort(new int[] {1, 12, -5, 90, 11});
a.bubbleSort();
for (int i : a.arr) {
System.out.println(i);
}
a.selectSort();
for (int i : a.arr) {
System.out.println(i);
}
}
}
class Sort {
int[] arr = new int[5];
Sort(int[] a) {
for (int i = 0; i < 5; ++i) {
arr[i] = a[i];
}
}
public void bubbleSort() {
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
public void selectSort() {
if (arr == null || arr.length == 0) {
return;
}
for (int i = 0; i < arr.length - 1; i++) {
int min = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[min]) {
min = j;
}
}
if (i != min) {
int tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
}
}
// 9、
// 定义一个线性表类,属性:一个int数组(有10个元素)、表头、表尾;方法:输出表头元素、在第i个位置插入元素a,在表尾删除元素,遍历(输出所有元素);定义一个线性表,在表尾分别插入1,2,3,4,5,输出表头元素,删除最后一个元素,输出所有元素。
public class Test12 {
public static void main(String[] args) {
List a = new List();
a.insertNum(1, 1);
a.insertNum(2, 2);
a.insertNum(3, 3);
a.insertNum(4, 4);
a.insertNum(5, 5);
a.outHead();
a.deleteTailNum();
a.outAll();
}
}
class List {
int[] arr = new int[10];
int head = 0;
int tail = -1;
public void outHead() {
System.out.println(arr[head]);
}
public void insertNum(int num, int i) {
for (int h = tail; h > i - 2; --h) {
arr[h + 1] = arr[h];
}
arr[i - 1] = num;
tail++;
}
public void deleteTailNum() {
arr[tail--] = 0;
}
public void outAll() {
for (int i = head; i <= tail; ++i) {
System.out.println(arr[i]);
}
}
}
import java.util.ArrayList;
// 10、 定义一个堆栈类,属性:堆栈、堆栈实际大小、堆顶;方法:入栈、出堆、得到栈顶元素;定义一个堆栈,将5、10、2依次入栈,输出栈顶元素,将2出栈。
public class Test13 {
public static void main(String[] args) {
Stack s = new Stack();
s.push(5);
s.push(10);
s.push(20);
s.pop();
System.out.println(s.getTop());
}
}
class Stack {
ArrayList<Integer> list = new ArrayList<>();
// 栈大小
int n = 0;
int top;
public void push(int o) {
list.add(o);
top = o;
n++;
}
public int getTop() {
return top;
}
public int pop() {
int temp = list.get(n - 1);
list.remove(n - 1);
top = list.get(n - 2);
n--;
return temp;
}
}