so Im Uni und habe gelernt, die logischen Stücke von Java, für, während, wenn, Schalter, etc. Ich habe mein Projekt für diesen Samstag fertiggestellt und das Problem ist, dass ich drei Klassen erstellt habe, Administrator
, die eine boot()
Methode hat (um eine Menge von Benutzern in das Array einzugeben, das bald initialisiert wird), Proyecto
wo ist das Haupt, und die Socios
Klasse, wo sind die createSocio(5 string vars)
und die desplegarSocio()
// Liest die Position in Array und druckt eine Konsole Zeile der Daten im Raum.Array lesen Methode aus Main aufgerufen und mit Daten eingegeben und gespeichert Array von einer anderen Methode verursacht Fehler im Lauf
Jetzt habe ich Probleme, wenn ich es drucken möchte, weil es nichts druckt. Down Ich habe den Code für jede Klasse.
Administrador.java
package proyecto;
import java.util.Scanner;
/**
*
* @author Mo
*/
public class Administrador {
public void Administrador(){
}
public static int cant;//cantidad users(dimension Array);
public static void boot(){
System.out.println("Por favor ingrese la cantidad de usuarios del sistema.");
do{
Scanner b= new Scanner(System.in);
cant= b.nextInt();
if(cant<1){System.out.println("Caracter no aceptado o numero inválido, por favor ingrese la cantidad.");}
}while(cant<1);
}
}
Socios.java
package proyecto;
import java.util.Scanner;
public class Socios {
public String[][] user = new String[Administrador.cant][4];
public int c= Administrador.cant;
public void Socios(){}
public void crearSocio(){}
public void consultarSocio(){}
public static int contador=1;
public void crearSocio(String nom, String ced, String fafi, String tmem){
if(contador<=Administrador.cant){
user[contador][0]= nom;//nombre
user[contador][1]= ced;//cedula
user[contador][2]= fafi;//fecha de afiliacion
user[contador][3]= tmem;//tipo de membresia
contador++;
} else {
System.out.println("Base de datos llena.");
}
System.out.println("Su id de socio es: "+contador);
}
public void consultarSocio(int a){
for(int b=0; b<4&&a>0&&a<Administrador.cant;){//b: identificador de nombre de dato;
switch(b){
case 0:
System.out.println("El nombre es:");
break;
case 1:
System.out.println("El numero de cedula es:");
break;
case 2:
System.out.println("La fecha de afiliacion es:");
break;
case 3:
System.out.println("El tipo de membresia es:");
break;
}
System.out.print(user[a][b]);
b++;
}
}
}
Der Haupt ist dieses:
package proyecto;
import java.util.Scanner;
/**
*
* @author Mo
*/
public class Proyecto {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//Variables
Scanner opcion= new Scanner(System.in);
Scanner socio= new Scanner(System.in);
Socios identificador= new Socios();
Scanner var1= new Scanner(System.in), var2 = new Scanner(System.in), var3= new Scanner(System.in), var4 = new Scanner(System.in);
int a, menu;
String nsNombre, nsCedula, nsFAF, nsTMEM;
System.out.println("Bienevenido a Sistema Administrativo del Club.");
System.out.println("Cargando Sistema...");
Administrador.boot();
//boot sistema
do{
System.out.println("Digite el numero de la opcion a elegir:");
System.out.println("1. Consultar informacion de socio.");
System.out.println("2. Crear nuevo socio.");
System.out.println("3. Modificar socio existente.");
System.out.println("4. Consultar reserva.");
System.out.println("5. Realizar Reserva.");
menu = opcion.nextInt();//Opcion(Integer) menu
do{
if(menu>6||menu<1){
System.out.println("El dato ingresado no es valido.");
System.out.println("Digite el numero de la opcion a elegir:");
System.out.println("1. Consultar informacion de socio.");
System.out.println("2. Crear nuevo socio.");
System.out.println("3. Modificar socio existente.");
System.out.println("4. Consultar reserva.");
System.out.println("5. Realizar Reserva.");
System.out.println("6.Salir.");
a=opcion.nextInt();
}
}while(menu<1||menu>6);
switch(menu){
case 1://Consultar info de Socio
System.out.println("Por favor ingrese el numero de id del socio.");
a = socio.nextInt();
identificador.consultarSocio(a);
break;
case 2://Crean nuevo socio
System.out.println("Por favor ingrese el Nombre completo.");
nsNombre= var1.next();
System.out.println("Por favor ingrese el numero de cedula.");
nsCedula= var2.next();
System.out.println("Por favor ingrese la fecha de afiliacion.");
nsFAF=var3.next();
System.out.println("Por favor ingrese el tipo de membresia.");
nsTMEM=var4.next();
Socios test= new Socios();
test.crearSocio(nsNombre, nsCedula, nsFAF, nsTMEM);
break;
case 3://Modificar socio
break;
case 4://Ver Reserva
break;
case 5://Reservar
break;
}
} while(menu!=6);
}
}
Jetzt ist der Fehler in der Konsole, wenn ich zum Drucken laufen und versuchen, das Array, es ist einfach leer ...
Ich danke Ihnen so sehr, ich habe versucht, die Contador int-Variable nicht in 1, sondern 0 und umgekehrt zu initialisieren, aber es bricht nur, wenn ich die 0 als Startwert oder Validierungswert verwende. Ich versuche, eine Art "Datenbank" -Array zu verwenden, aber IDK, wenn die globalen und lokalen Probleme mit dem Speichern der Daten im Array und der Hauptgrund, warum es nichts auf der Konsole widerhallen.
Nehmen Sie in Betracht, ich bin durch Kodierung I Kurs, so habe ich nicht Php-Klassen oder sonst genommen, und wir werden grundlegende Java so yh, nicht viel Bibliotheken zur Auswahl.
Ich werde es etwas mit der Anzahl der 'Scanner's Sie hat erraten, zu tun haben. Sie alle verweisen auf 'System.in' und alles, was Sie tun, ist das sequentielle Lesen mit ihnen, also brauchen Sie nur eins. –
Ich habe versucht, nur 1 zu verwenden, und die Methode würde nicht funktionieren, also habe ich gerade 4. –