Clase estudiante
class Estudiante {
private String nombre;
private int numeroMaterias;
public Estudiante(String nombre, int numeroMaterias) {
this.nombre = nombre;
this.numeroMaterias = numeroMaterias;
}
public String getNombre() {
return nombre;
}
public int getNumeroMaterias() {
return numeroMaterias;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setNumeroMaterias(int numeroMaterias) {
this.numeroMaterias = numeroMaterias;
}
}
Clase Nodo
public class Nodo {
private Estudiante datos;
private Nodo anterior;
private Nodo siguiente;
public Nodo(Estudiante datos, Nodo anterior, Nodo siguiente) {
this.datos = datos;
this.anterior = anterior;
this.siguiente = siguiente;
}
public Estudiante getDatos() {
return datos;
}
public Nodo getAnterior() {
return anterior;
}
public Nodo getSiguiente() {
return siguiente;
}
public void setDatos(Estudiante datos) {
this.datos = datos;
}
public void setAnterior(Nodo anterior) {
this.anterior = anterior;
}
public void setSiguiente(Nodo siguiente) {
this.siguiente = siguiente;
}
}
Clase Pila
public class Pila {
private Nodo cima;
public Pila(){
cima=null;
}
//agregarInicio
public void push(Estudiante x, int num){
if(num<=8){
Nodo nuevo=new Nodo (x, null, cima);
if(cima!=null){
cima.setAnterior(nuevo);
}
cima=nuevo;
}
//System.out.println("ERROR: Maximo puede coger 8 materias");
}
//Quitar INICIO
public Estudiante pop(){
if(cima==null){
System.out.println("ERROR: Maximo puede coger 8 materias. La pila esta vacia");
return null;
}
else if(cima.getSiguiente()==null){
Nodo aux=cima;
cima=null;
return aux.getDatos();
}else{
Nodo aux=cima;
cima=cima.getSiguiente();
cima.setAnterior(null);
aux.setSiguiente(null);
return aux.getDatos();
}
}
public Nodo Imprimir(Nodo aux){
if(aux!=null){
System.out.println("Nombre: "+aux.getDatos().getNombre()+" Numero de materias: "+aux.getDatos().getNumeroMaterias());
aux=aux.getSiguiente();
Imprimir(aux);
}
return aux;
}
public void Imprimir(){
Nodo aux=cima;
Imprimir(aux);
}
}
Clase Principal
import java.util.Scanner;
public class Principal {
public static void main(String[] args) {
Pila pA=new Pila();
pA.push(new Estudiante("Juan",5),5);
pA.push(new Estudiante("Ana",7),7);
pA.push(new Estudiante("Pepe",3),3);
pA.Imprimir();
Estudiante r=pA.pop();
if(r!=null){
System.out.println("Nombre: "+r.getNombre()+" toma "+r.getNumeroMaterias()+" materias");
Scanner n= new Scanner(System.in);
System.out.println("1= Extraordinario");
System.out.println("2= no Extraordinario");
int dato= n.nextInt();
if(dato==2){
int total=r.getNumeroMaterias()*135;
System.out.println("Debe pagar "+total);
}
if(dato==1){
float total=r.getNumeroMaterias()*135;
float adicion=(float) (total*0.15);
total= total+adicion;
System.out.println("Debe pagar "+total);
}
}
r=pA.pop();
if(r!=null){
System.out.println("Nombre: "+r.getNombre()+" toma "+r.getNumeroMaterias()+" materias");
Scanner n= new Scanner(System.in);
System.out.println("1=Extraordinario");
System.out.println("2= no Extraordinario");
int dato= n.nextInt();
if(dato==2){
int total=r.getNumeroMaterias()*135;
System.out.println("Debe pagar "+total);
}else{
int total=r.getNumeroMaterias()*135;
System.out.println("Debe pagar "+total*(15/100));
}
}
r=pA.pop();
if(r!=null){
System.out.println("Nombre: "+r.getNombre()+" toma "+r.getNumeroMaterias()+" materias");
Scanner n= new Scanner(System.in);
System.out.println("1=Extraordinario");
System.out.println("2= no Extraordinario");
int dato= n.nextInt();
if(dato==2){
int total=r.getNumeroMaterias()*135;
System.out.println("Debe pagar "+total);
}else{
int total=r.getNumeroMaterias()*135;
System.out.println("Debe pagar "+total*(15/100));
}
}
}
}
No hay comentarios:
Publicar un comentario