
1。People.java
public class People {
//性别(sex)及出生日期(date);方法成员有:获取人的性别和出生日期及构造方法。要求构造方法可以设置性别和出生日期的初始值。
private int sex
private Date birth
public People (int sex, Date birth) {
this.sex = sex
this.birth = birth
}
public int getSex() {
return this.sex
}
public Date getBirth() {
return this.birth
}
}
2。Student.java
public class Student extends People{
private int sex
private Date birth
private String name
private int stuno
private double grate
private String studentNative
public Student(int sex, Date birth, String name, int stuno, double grate, String studentNative) {
super(sex, birth)
this.name = name
this.stuno = stuno
this.grate = grate
this.studentNative = studentNative
}
public Date getBirth() {
return birth
}
public double getGrate() {
return grate
}
public String getName() {
return name
}
public int getSex() {
return sex
}
public String getStudentNative() {
return studentNative
}
public int getStuno() {
return stuno
}
}
3。测试类自己编写就好了,创建一个People和Student的对象,然后设置值,取值就可以了。
五。
1.构造方法没有返回值,方法名和类名一样.
2.继承是指子类可以拥有父类的方法和属性;多态是指父类的引用可以指向子类对象的实例
3.重写
4.重载
其他的没什么了,自己完成以下吧。O(∩_∩)O~
源代码:
import java.util.*
public class Test1 {
public static class Student{
int id
String name
int math
int english
int history
public void setId(int id){
this.id=id
}
public int getId(){
return id
}
public void setName(String name){
this.name=name
}
public String getName(){
return name
}
public void setMath(int math){
this.math=math
}
public int getMath(){
return math
}
public void setEnglish(int english){
this.english=english
}
public int getEglish(){
return english
}
public void setHistory(int history){
this.history=history
}
public int getHistory(){
return history
}
}
public static void main(String[] args) {
Scanner scan=new Scanner(System.in)
System.out.println("请输入学生人数:")
int renshu=scan.nextInt()
Student[]stu=new Student[renshu]
for(int i=0i<renshui++){
stu[i]=new Student()
int id,math,english,history
String name
System.out.println("请输入学生的学号:")
Scanner scan1=new Scanner(System.in)
id=scan1.nextInt()
System.out.println("请输入该生的姓名:")
Scanner scan2=new Scanner(System.in)
name=scan2.next()
System.out.println("请输入该生的数学、英语、历史成绩:")
Scanner scan3=new Scanner(System.in)
math=scan3.nextInt()
english=scan3.nextInt()
history=scan3.nextInt()
stu[i].setId(id)
stu[i].setName(name)
stu[i].setMath(math)
stu[i].setEnglish(english)
stu[i].setHistory(history)
}
List<Student>list=new ArrayList<>()
list=Arrays.asList(stu)
Iterator<Student>it=list.iterator()
while(it.hasNext()){
Student s=new Student()
s=it.next()
System.out.print("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
System.out.println()
}
System.out.println("三门全部通过的同学为:")
Iterator<Student>it1=list.iterator()
while(it1.hasNext()){
Student s=new Student()
s=it1.next()
if(s.getMath()>=60 &&s.getEglish()>=60 &&s.getHistory()>=60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
System.out.println("三门全部不通过的同学为:")
Iterator<Student>it2=list.iterator()
while(it2.hasNext()){
Student s=it2.next()
if(s.getMath()<60 &&s.getEglish()<60 &&s.getHistory()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
System.out.println()
System.out.println("三门至少有一门通过的同学为:")
Iterator<Student>it3=list.iterator()
while(it3.hasNext()){
Student s=it3.next()
if(s.getMath()>=60 || s.getEglish()>60 || s.getHistory()>60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
System.out.println()
System.out.println("数学不通过的同学为:")
Iterator<Student>it4=list.iterator()
while(it4.hasNext()){
Student s=it4.next()
if(s.getMath()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
}
}
其实这样get、set不如直接定义一个构造函数方便。
还有下面这个源代码可能不符合要求,没有键盘输入,但是有分别用for和迭代器,更好理解。
import java.util.*
public class Test {
public static class Student{
int id
String name
int math
int english
int history
public void setId(int id){
this.id=id
}
public int getId(){
return id
}
public void setName(String name){
this.name=name
}
public String getName(){
return name
}
public void setMath(int math){
this.math=math
}
public int getMath(){
return math
}
public void setEnglish(int english){
this.english=english
}
public int getEglish(){
return english
}
public void setHistory(int history){
this.history=history
}
public int getHistory(){
return history
}
}
public static void main(String[] args) {
Student s1=new Student()
s1.setId(11)
s1.setName("dr")
s1.setMath(100)
s1.setEnglish(90)
s1.setHistory(80)
Student s2=new Student()
s2.setId(12)
s2.setName("spe")
s2.setMath(100)
s2.setEnglish(50)
s2.setHistory(80)
Student s3=new Student()
s3.setId(13)
s3.setName("wr")
s3.setMath(50)
s3.setEnglish(100)
s3.setHistory(80)
Student s4=new Student()
s4.setId(14)
s4.setName("axe")
s4.setMath(50)
s4.setEnglish(50)
s4.setHistory(50)
List<Student>list=new ArrayList<>()
list.add(s1)
list.add(s2)
list.add(s3)
list.add(s4)
System.out.println("使用迭代器:")
System.out.println("所有学生成绩:")
Iterator<Student>it=list.iterator()
while(it.hasNext()){
Student s=it.next()
System.out.print("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
System.out.println()
}
System.out.println()
System.out.println("三门全部通过的同学为:")
Iterator<Student>it1=list.iterator()
while(it1.hasNext()){
Student s=it1.next()
if(s.getMath()>=60 &&s.getEglish()>=60 &&s.getHistory()>=60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
System.out.println("三门全部不通过的同学为:")
Iterator<Student>it2=list.iterator()
while(it2.hasNext()){
Student s=it2.next()
if(s.getMath()<60 &&s.getEglish()<60 &&s.getHistory()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
System.out.println()
System.out.println("三门至少有一门通过的同学为:")
Iterator<Student>it3=list.iterator()
while(it3.hasNext()){
Student s=it3.next()
if(s.getMath()>=60 || s.getEglish()>60 || s.getHistory()>60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
System.out.println()
System.out.println("数学不通过的同学为:")
Iterator<Student>it4=list.iterator()
while(it4.hasNext()){
Student s=it4.next()
if(s.getMath()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory())
}
System.out.println()
System.out.println("使用for语句")
System.out.println("所有学生成绩:")
for(int i=0i<list.size()i++)
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())
System.out.println()
System.out.println("三门全部通过的同学为:")
for(int i=0i<list.size()i++){
if(list.get(i).getMath()>=60 &&list.get(i).getEglish()>=60 &&list.get(i).getHistory()>=60)
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())
}
System.out.println()
System.out.println("三门全部不通过的同学为:")
for(int i=0i<list.size()i++){
if(list.get(i).getMath()<60 &&list.get(i).getEglish()<60 &&list.get(i).getHistory()<60)
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())
}
System.out.println()
System.out.println("三门至少有一门通过的同学为:")
for(int i=0i<list.size()++i){
if(list.get(i).getMath()>60 || list.get(i).getEglish()>60 || list.get(i).getHistory()>60)
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())
}
System.out.println()
System.out.println("数学不通过的同学为:")
for(int i=0i<list.size()++i){
if(list.get(i).getMath()<60)
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory())
}
System.out.println()
}
}
package comimport java.util.*
public class Student{
private String name
private String id
private double sumscore
public Student(String name,String id,double sumscore){
this.name=name
this.id=id
this.sumscore=sumscore
}
public String toString() {
return "name:"+getName()+" id:"+getId()+" sumscore:"+getSumscore()
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public String getId() {
return id
}
public void setId(String id) {
this.id = id
}
public double getSumscore() {
return sumscore
}
public void setSumscore(double sumscore) {
this.sumscore = sumscore
}
public static void main(String[] args) {
Student []s={new Student("A","1",12),new Student("B","2",22),new Student("C","3",32),
new Student("D","4",142),new Student("E","5",152),new Student("F","6",262),new Student("G","7",72),
new Student("H","8",182),new Student("I","9",92),new Student("J","10",102)
}
s=bubbleSort(s)
Vector<Student> vector = new Vector<Student>()
vector.addAll(Arrays.asList(s))
for (Iterator<Student> iter = vector.iterator() iter.hasNext())
{
Student student = iter.next()
System.out.println(student.toString())
}
List <Student>list=new ArrayList<Student>()
list=Arrays.asList(s)
for(Student str:list){
System.out.println(str.toString())
}
Hashtable <Integer,Student>table =new Hashtable<Integer,Student>()
for(int i=0i<s.lengthi++){
table.put(i, s[i])
}
for(int i=0i<s.lengthi++){
System.out.println(table.get(i).toString())
}
}
public static Student[] bubbleSort(Student[] args){//冒泡排序算法
Student temp
for(int i=0i<args.length-1i++){
for(int j=i+1j<args.lengthj++){
if (args[i].getSumscore()>args[j].getSumscore()){
temp=args[i]
args[i]=args[j]
args[j]=temp
}
}
}
return args
}
}
//楼主,说实话你的要求真多,而且分少~~~~
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)