跪求JAVA编程高手。帮我编两道题。
1、编写application,对6、1、4、8、5按照从小到大排序。
2、编写java应用程序,声明三个类:Ren、Teacher、Student,其中Ren是抽象类,Teacher类和Student类继承Person类,运行程序,分别输出一个Teacher类对象和一个Student类对象的详细信息。
2、编写java应用程序,声明三个类:Ren、Teacher、Student,其中Ren是抽象类,Teacher类和Student类继承Person类,运行程序,分别输出一个Teacher类对象和一个Student类对象的详细信息。
答案:2,类的问题
abstract class Person {//建立一个抽象类人
String name;
int age;
int id;//三个成员变量
Person(String name,int age,int id) {//人的构造方法
this.name = name;
this.age = age;
this.id = id;
}
public abstract void getInfo();//抽象法法得到信息
}class Student extends Person {//学生类继承人类
String school;//多了school成员变量
Student(String name,int age,int id,String school) {//学生的构造方法
super( name, age, id);//从父类继承构造方法
this.school = school;//自己多出来的
}
public void getInfo() {//重写父类方法
System.out.println("i am " +name+"i am "+age+
" old"+"i in "+ school);
}
}class Teacher extends Person {
String subject;
Teacher(String name,int age,int id,String subject) {
super(name,age,id);
this.subject = subject;
}
public void getInfo() {
System.out.println("i am "+name+"i am "+age+"old "+
" i am teaching " +subject);
}
}public class Test01 {
public static void main(String args[]) {
Student s1 = new Student("jack",13,1,"xiaoxue");
Teacher t1 = new Teacher("mike",33,23,"shuxue");
s1.getInfo();
t1.getInfo();
}
}1,数组排序 我根本贴补了 ,说我的答案太类似了,问问太垃圾了
1.给你一个全面点的
import java.util.Scanner;
import java.util.regex.Pattern;/**
* 排序算法练习
*
* @author yangpengwei
*/
public class SortTest {
/**
* 换杯算法
*
* @param arr 数组
* @param i arr数组的下标
* @param j arr数组的下标
*/
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}// 选择排序
public static void sortSelection(int[] arr) {
long begin = System.currentTimeMillis();
for (int t = 0; t < 1000000; t++) {
for (int i = 0; i < arr.length; i++) {
for (int j = i; j < arr.length; j++) { //随着j的递增,依次排 j之前的序
if (arr[j] < arr[i]) { //前第arr.length-j个就是排好序的,所以只用排序j之后的数
swap(arr, i, j);
}
}
}
}
long end = System.currentTimeMillis();
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if (i < arr.length - 1) {
System.out.print(",");
}
}
System.out.println("");
System.out.println("选择排序耗时:" + (end - begin));}
//冒泡排序
public static void sortBubble(int[] arr) {
long begin = System.currentTimeMillis();
for (int t = 0; t < 1000000; t++) {
for (int i = 0; i < arr.length; i++) {
for (int j = i; j < arr.length - 1; j++) { //循环j~arr.length之间的数
if (arr[j + 1] < arr[j]) { //如是自己j小于后一个(j+1),就交换两个数的位置
swap(arr, j + 1, j);
}
}
}
}
long end = System.currentTimeMillis();
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if (i < arr.length - 1) {
System.out.print(",");
}
}
System.out.println("");
System.out.println("冒泡排序耗时:" + (end - begin));
}//插入排序
public static void sortInsertion(int[] arr) {
long begin = System.currentTimeMillis();
for (int t = 0; t < 1000000; t++) {
for (int n = 1; n < arr.length; n++) {
int m = n;
while (arr[m - 1] > arr[m] && m <= 0) {
arr[m] = arr[m - 1];
m--;
}
arr[m] = arr[n];
}
}
long end = System.currentTimeMillis();
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if (i < arr.length - 1) {
System.out.print(",");
}
}
System.out.println("");
System.out.println("插入排序耗时:" + (end - begin));
}public static int partition(int[] arr, int low, int high) {
int pivot, p_pos, i;
p_pos = low;
pivot = arr[p_pos];
for (i = low + 1; i <= high; i++) {
if (arr[i] < pivot) {
p_pos++;
swap(arr, p_pos, i);
}
}
swap(arr, low, p_pos);
return p_pos;
}public static void quickSort(int[] arr, int low, int high) {
int pivot;
if (low < high) {
pivot = partition(arr, low, high);
quickSort(arr, low, pivot - 1);
quickSort(arr, pivot + 1, high);
}
}//快速排序
public static void sortQuick(int[] arr) {
long begin = System.currentTimeMillis();
for (int t = 0; t < 1000000; t++) {
quickSort(arr, 0, 5);
}
long end = System.currentTimeMillis();
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
if (i < arr.length - 1) {
System.out.print(",");
}
}
System.out.println("");
System.out.println("快速排序耗时:" + (end - begin));
}public static void main(String[] args) {
public static void main(String[] args) {
int[] arr = new int[] { 6, 1, 4, 8, 5 };
sortSelection(arr);
sortBubble(arr);
sortInsertion(arr);
sortQuick(arr);
}
}
int []nums={6,1,4,8,5};
Arrays.sort(nums);
for (int i : nums) {
System.out.println(i);
}
第二题有四个类,不知道哪冒出来的Person可以用这些数字来打印这种图形也算吧。