一道Java编程题,拜托了各位大神 一道Java初学者练习题,拜托了各位编程大神!

\u4e00\u9053Java\u7f16\u7a0b\u9898\uff0c\u62dc\u6258\u4e86

package 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;
    }
}


  • java缂栫▼:杈撳叆n琛ㄧず鍋歯娆′笅闈㈢殑鎿嶄綔:杈撳叆涓や釜姝f暣鏁,杈撳嚭瀹冧滑鐨勫拰.鎷滄墭...
    绛旓細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...
  • 涓閬揓ava缂栫▼棰,鎷滄墭浜嗗悇浣澶х
    绛旓細1.瀹氫箟涓涓猄tudent绫伙紝鍖呮嫭瀛﹀彿锛屽鍚嶏紝鎴愮哗涓変釜瀛楁锛岀敓鎴恎et,set鍜宼oString鏂规硶,瀹炵幇Comparable鎺ュ彛锛岄噸鍐檛oCompare鏂规硶锛屾柟娉曢噷灏辨槸鏈鐨勯昏緫锛屽厛鎸夋垚缁╂瘮杈冿紝鍐嶆寜瀛﹀ソ姣旇緝锛屼娇鐢═reeSet涓嶅疄鐜拌繖涓帴鍙d細鎶ラ敊銆俻ackage Collection;public class Student implements Comparable<Student> {private long sno;priv...
  • 鍏充簬JAVA缂栫▼鐨勯棶棰;100浠ュ唴鑳借3鍜7鏁撮櫎鐨勬暟,涓や釜缁撴灉涓轰粈涔堜笉鍚屽憿...
    绛旓細涓锛 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 ...
  • (鐢java缂栫▼)缁欏畾涓涓暣鏁癿,姹俶涓渶灏忕殑鍊煎強鍏舵潈鍊鎷滄墭鍚勪綅浜 3Q
    绛旓細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...
  • java棰 甯屾湜浼氱殑鍚屽甯府蹇檦~~璋㈣阿
    绛旓細锛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锛屼竴闀胯窇...
  • 涓閬揓ava缂栫▼棰,鎷滄墭浜
    绛旓細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;}...
  • 2閬java棰樼洰,鎷滄墭澶х浜
    绛旓細//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...
  • 缂栫▼闂闈㈠悜璁捐Java,鎷滄墭浜
    绛旓細鏈変簺璇硶閿欒鍜岀▼搴忛敊璇傛垜缁欎綘鏀逛簡涓涓嬨傛棦鐒舵槸棰樼洰锛灏变弗鏍兼寜鐓ч鐩姹傛潵銆傞鐩互澶栫殑涓滆タ涓鐐逛篃涓嶈鍔犮傞『渚跨粰浣犲姞涓婃敞閲娿備綘涓嶆噦浜嗗彲浠ョ户缁拷闂俛bstract class Pracel { protected int pnum;protected double wg;protected String dliy;protected double psg;static int counter = 101;//璧嬪兼棤...
  • 涓閬揓ava鍒濆鑰呯粌涔棰,鎷滄墭浜嗗悇浣嶇紪绋澶х!
    绛旓細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(...
  • java棰樼洰姹傝В璋㈣阿鍚勪綅
    绛旓細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+=" "...
  • 扩展阅读:为什么都不建议java转测试 ... 初学编程必背50个 ... 学java一般能干什么 ... java考试搜题软件 ... java编程入门 ... 入门的java游戏小程序 ... java入门网站 ... 黑客编程必背50个代码 ... java面试必背100问 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网