设计一个Java程序,来实现学生成绩按照学号反转打印出来。
package LinkList;
public class Node {
int data;
int np;
String names;
Node next;
public Node(int data,int np,String names) {
this.np=np;
this.data=data;
this.names=names;
this.next=null;
}
public Node first;
public Node last;
public boolean isEmpty() {
return first==null;
}
public void print() {
Node current=first;
while(current!=null) {
System.out.println("["+current.data+" "+current.names+" "+current.np+"]");
current=current.next;
}
System.out.println();
}
public void insert(int data,String names,int np) {
Node newNode=new Node(data,np,names);
if(this.isEmpty()) {
first=newNode;
last=newNode;
}else {
last.next=newNode;
last=newNode;
}
}
}
package LinkList;
public class reverse extends LinkList{
public void reverse_print() {
Node current=first;
Node before=null;
System.out.println("反转后的链表数据:");
while(current!=null) {
last=before;
before=current;
current=current.next;
before.next=last;
}
current=before;
while(current!=null) {
System.out.println("["+current.data+" "+current.names+" "+current.np+"]");
current=current.next;
}
System.out.println();
}
}
package LinkList;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Random;
public class ReverseStu {
public static void main(String args[]) throws IOException{
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(System.in));
Random rand=new Random();
reverse list =new reverse();
int i,j,findword=0,data[][]=new int[12][10];
String name[]=new String[] {"Allen","Scott","Marry","Jon","Mark","Ricky","Lisa","Jasica","Hanson","Amy","Bob","Jack"};
System.out.println("学号\t成绩\t学号\t成绩\t学号\t成绩\t学号\t成绩\n ");
System.out.println("单向链表1:");
for(i=0;i<12;i++)
{
data[i][0]=i+1;
data[i][1]=(Math.abs(rand.nextInt(50)))+50;
list.insert(data[i][0],data[i][1],name[i]);
}
for (i=0;i<3;i++)
{
for(j=0;j<4;j++)
System.out.print("["+data[j*3+i][0]+"] ["+data[j*3+i][1]+"] ");
System.out.println();
}
list.reverse_print();
}
}