一道Java编程题,拜托了各位大神 一道Java初学者练习题,拜托了各位编程大神!
\u4e00\u9053Java\u7f16\u7a0b\u9898\uff0c\u62dc\u6258\u4e86package exam;public class Test1 {public static void main(String[] args) {String NAME = "\u897f\u6d77\u9f99\u738b";int lowage=1998;int nowage=2016;int age=Age(lowage,nowage);System.out.println(NAME+lowage+"\u5e74\u51fa\u751f,\u4eca\u5e74"+age+"\u5c81");}private static int Age(int i, int j) {return j-i;}}
\u4f60\u597d\uff0c\u63d0\u95ee\u8005:
\u5982\u679c\u89e3\u51b3\u4e86\u4f60\u7684\u95ee\u9898\uff0c\u8bf7\u91c7\u7eb3\uff0c\u82e5\u6709\u7591\u95ee\u8bf7\u8ffd\u95ee\uff0c\u8c22\u8c22\uff01
package com.zyx.cn.baidu_test;/** * \u52a8\u7269\u7c7b * @author yltd */public interface Animal {//voice\u65b9\u6cd5public void voice();}package com.zyx.cn.baidu_test;/** * \u732b\u7c7b * @author yltd * */public class Cat implements Animal {@Overridepublic void voice() {System.out.println("Cat");}}package com.zyx.cn.baidu_test;//\u732a\u7c7bpublic class Pig implements Animal {@Overridepublic void voice() {System.out.println("Pig");}}package com.zyx.cn.baidu_test;//\u72d7\u7c7bpublic class Dog implements Animal {@Overridepublic void voice() {System.out.println("Dog");}}package com.zyx.cn.baidu_test;/** * \u5ba0\u7269\u5e97 * @author yltd */public class Store {public Animal getInstance(String srt){Animal animal =null;if("dog".equals(srt)){animal = new Dog();}else if("pig".equals(srt)){animal = new Pig();}else{animal = new Cat();}return animal;}}package com.zyx.cn.baidu_test;/** * \u6d4b\u8bd5\u7c7b * @author yltd */public class AnimalTest {public static void main(String[] args) {Store store =new Store();Animal animal_1 = store.getInstance("cat");animal_1.voice();System.out.println("=============");Animal animal_2 = store.getInstance("dog");animal_2.voice();System.out.println("=============");Animal animal_3 = store.getInstance("pig");animal_3.voice();}}\u7ed3\u679c\uff1aCat=============Dog=============Pig
1.定义一个Student类,包括学号,姓名,成绩三个字段,生成get,set和toString方法,实现Comparable接口,重写toCompare方法,方法里就是本题的逻辑,先按成绩比较,再按学好比较,使用TreeSet不实现这个接口会报错。
package Collection;
public class Student implements Comparable<Student> {
private long sno;
private String name;
private int score;
public long getSno() {
return sno;
}
public void setSno(long sno) {
this.sno = sno;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
if (this.score < o.score) {
return 1;
} else if (this.score > o.score) {
return -1;
} else {
if(this.sno<o.sno) {
return 1;
}else {
return -1;
}
}
}
@Override
public String toString() {
return "Student [sno=" + sno + ", name=" + name + ", score=" + score + "]";
}
}
2.然后写测试类,生成十个学生,然后插入treeset,直接遍历输出就是排序好的结果。
package Collection;
import java.util.Random;
import java.util.TreeSet;
public class TreeSetTest {
public static void main(String[] args) {
TreeSet<Student> ts=new TreeSet<Student>();
for(int i=0;i<10;i++) {
Student stu=new Student();
stu.setName("student"+i);
stu.setSno(170201+i);
stu.setScore(90+new Random().nextInt(10));
ts.add(stu);
}
for(Student stu:ts) {
System.out.println(stu);
}
}
}
最后贴一个运行结果
实现如下:
public static void main(String[] args) {
//使用TreeSet集合自带排序,排序规则由Comparator中的compare方法确定
TreeSet<Student> set = new TreeSet<>(new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
if (o1.getScore() == o2.getScore()){
//分数一样,学号小的在前
return o1.getStudentNo() - o2.getStudentNo();
}
//分数不一样,分数大的在前
return o2.getScore() - o1.getScore();
}
});
Student s1 = new Student(170201, "s1", 78);
Student s2 = new Student(170203, "s1", 58);
Student s3 = new Student(170202, "s1", 78);
set.add(s1);
set.add(s2);
set.add(s3);
System.out.println(set);
}
//学生类
class Student{
private int studentNo;
private String name;
private int score;
public Student(int studentNo, String name, int score) {
this.studentNo = studentNo;
this.name = name;
this.score = score;
}
public int getScore(){
return score;
}
public int getStudentNo() {
return studentNo;
}
@Override
public String toString() {
return "姓名:" + name + ",学号:" + studentNo + ",分数:" + score;
}
}
绛旓細import java.util.Scanner; public class Cal { public static void main(String[] args) { Scanner in = null; int counts = 0; double num1 = 0; double num2 = 0; System.out.println("Pleae input counts:"); in = new Scanner(System.in); counts = in.nextInt(); for (in...
绛旓細1.瀹氫箟涓涓猄tudent绫伙紝鍖呮嫭瀛﹀彿锛屽鍚嶏紝鎴愮哗涓変釜瀛楁锛岀敓鎴恎et,set鍜宼oString鏂规硶,瀹炵幇Comparable鎺ュ彛锛岄噸鍐檛oCompare鏂规硶锛屾柟娉曢噷灏辨槸鏈鐨勯昏緫锛屽厛鎸夋垚缁╂瘮杈冿紝鍐嶆寜瀛﹀ソ姣旇緝锛屼娇鐢═reeSet涓嶅疄鐜拌繖涓帴鍙d細鎶ラ敊銆俻ackage Collection;public class Student implements Comparable<Student> {private long sno;priv...
绛旓細涓锛 public class Test{ public static void main(String[] args){ int i=100; System.out.println("100浠ュ唴鑳借3鍜7鏁撮櫎鐨勬暟鏈"); while(i>0){ if(i%7==0){ if(i%3==0) System.out.print(i+" "); i--;} else i--; } } } 浜岋細 public class Test{ public static ...
绛旓細import java.util.*; public class Test{ public static void main(String arhs[]){ System.out.println("杈撳叆鏁板硷細"); Scanner s=new Scanner(System.in); String a=s.nextLine(); int min=11,r=0; for(int i=0;i<a.length();i++){ if(Integer.parseInt(a.substring(i,i+1))<m...
绛旓細锛1锛夊埄鐢╠o...while璇彞锛岃绠1!+2!+...+100! public class test1{ public static void main(String[] args) { int sum=0,i=1; do { sum=sum+i; i++; } while(i<=100); { System.out.println("1!+2!+...+100!="+sum); } } } 锛2锛夊湴鐞冪殑鍗婂緞涓6400km锛屼竴闀胯窇...
绛旓細package exam;public class Test1 {public static void main(String[] args) {String NAME = "瑗挎捣榫欑帇";int lowage=1998;int nowage=2016;int age=Age(lowage,nowage);System.out.println(NAME+lowage+"骞村嚭鐢,浠婂勾"+age+"宀");}private static int Age(int i, int j) {return j-i;}...
绛旓細//1.//鍒涘缓闆嗗悎 List<Integer> arrays = new ArrayList<Integer>();//娣诲姞鏁版嵁 arrays.add(111);arrays.add(222);arrays.add(333);//杈撳嚭鎵撳嵃 System.out.println(arrays);//2.if(arrays.contains(222)){ for (int i = 0; i < arrays.size(); i++) { if(arrays.get(i)==222...
绛旓細鏈変簺璇硶閿欒鍜岀▼搴忛敊璇傛垜缁欎綘鏀逛簡涓涓嬨傛棦鐒舵槸棰樼洰锛灏变弗鏍兼寜鐓ч鐩姹傛潵銆傞鐩互澶栫殑涓滆タ涓鐐逛篃涓嶈鍔犮傞『渚跨粰浣犲姞涓婃敞閲娿備綘涓嶆噦浜嗗彲浠ョ户缁拷闂俛bstract class Pracel { protected int pnum;protected double wg;protected String dliy;protected double psg;static int counter = 101;//璧嬪兼棤...
绛旓細cn.baidu_test;//鐙楃被public class Dog implements Animal {@Overridepublic void voice() {System.out.println("Dog");}}package com.zyx.cn.baidu_test;/** * 瀹犵墿搴 * @author yltd */public class Store {public Animal getInstance(String srt){Animal animal =null;if("dog".equals(...
绛旓細public static void main(String args[]){ int day=0; for(int i=2009;i<3809;i++) { if(i%4!=0||(i%10==0&&i%400!=0)) { day+=365; continue; } day+=366; } int xingqi=(day-4)%7+1; String str=""; for(int i=0;i<xingqi-1;i++) str+=" "...