Java Strings in ein Array?

3 Antworten

Derzeit gibts du Person 1 ein und wieder aus, Person 2 ein und wieder aus, Person 3 ein und wieder aus. Du möchtest aber die Ausgabe der 3 Personen erst nach dem alle 3 Personen eingegeben wurden?

Person[] person = new Person[3];

for ( ... // eingabe

person[i] = new Person();

person[i].setName(name); ...

for ( ... // ausgabe

System.out.println("Name: "+person[i].getName());

Zunächst einmal ist diese Zeile nutzlos:

 String[] datenArray = new String[] { name, nachname, alter, wohnort};

da Du diese Variable datenArray nie wieder liest.

Ich nehme mal an dass Du die Daten von 3 Personen lesen möchtest und nachdem die drei Personen gelesen wurden anschließend die Daten dieser drei Personen ausgeben willst?.

Dazu brauchst Du zwei Schleifen.

In der ersten Schleife liest Du die Daten der Personen, erstellst daraus ein Objekt  wie Du es ja bereits programmiert hast

 Person test = new Person();
test.setName(name);
test.setNachname(nachname);
test.setAlter(Integer.parseInt(alter));
test.setWohnort(wohnort);

und Du mußt dann dieses Objekt irgendwo speichern, damit Du es hinterher in der zweiten Schleife wieder ausgegeben kannst.

Dazu kann man schon ein Array verwendet - aber das Array enthält ja keine Strings sondern Objekte der Klasse Person.

Also VOR der ersten Schleife ein entsprechenden Array definieren

Person[] personen=new Person[3];

und dann innerhalb der ersten Schleife das gerade erstellte Objekt test an passender Stelle im Array ablegen

personen[i]=test;

In der zweiten Schleife (die auch wieder von 0-2 läuft) kannst Du dann z.B. mit

Person test=personen[i]

die Person die gerade "dran" ist aus der entsprechende Stelle im Array auslesen und dann hinterher ihre Daten ausgegeben.

Ja die drei Scanner abfragen nur in der For-Schleife sollte doch gehen.
Allerdings musst du name, Nachname usw schon vor der For-Schleife initialisieren da sie sonst nur in der For-Schleife verfügbar sind

10

entweder ich stell mich dumm an oder es  geht nicht ^^

0

Rechenergebnis im Javaeditor ausgeben & Punktesystem in Java programmieren?

Hallo, ich arbeite im Moment im Rahmen eines Projektes für das Fach Informatik (Gymnasium Klasse 10) an einem Rechenspiel, welches ich im Javaeditor programmiere.Das Prinzip ist simpel. Man bekommt eine Zufällige Gleichung (+;-;;/), tippt das Ergebnis ein und das Programm sagt ob es richtig oder falsch ist. Dazu gibt es noch ein Punktesystem. Ich habe allerdings 2 große Probleme. Zum einem habe ich einen String erstellt, der zufälig +,-,,/ wählt. Nun weiß ich allerdings leider nicht wie ich diesen String so in das Lösungsprogramm einfüge, dass es auch funktioniert. Außerdem habe ich angefangen ein Punktesystem zu programmieren, da das Programm allerdings immer wieder von vorne startet, ist der Punktezähler nie höher als 1. Wie kann ich das beheben?? Anbei findet ihr meinen gesammten Code Vielen Dank Max

public class Superhirn 
{
  
  public static void main (String[] args)
  {    
    new Spiel();
  }
}

  

class Spiel
{
  public Spiel() // Konstruktor, Aufruf bei "new"
  {
    System.out.println("Willkommen bei Superhirn!");
    System.out.println("Gleich geht das Spiel los!");
    rateEinmal();
  
      
    
    
  } 
                                                                      
    int zahl1 = zufallszahl(50);
    int zahl2 = zufallszahl(50);
    int ergebnis = zahl1+zahl2; 
    int punkte1 = 0;  
    
      
    
  void rateEinmal()
  
  {
    int zahl1 = zufallszahl(50);
    int zahl2 = zufallszahl(50);
    int ergebnis = zahl1+zahl2; 
    System.out.println("Wie viel ist " + zahl1 + rechensymbol + zahl2 + "?");
    if (leseZahl() == ergebnis) {
      System.out.println("Richtig!" );
         punktzahl();
         rateEinmal(); 
               
      
    } else {
       System.out.println("Falsch! Das Ergebnis war " + ergebnis );
       System.out.println("GAME OVER!");
    } 
    }
    void punktzahl()
    {  
    int punkte1 = 0;
    punkte1++;
    System.out.println("Deine Punktanzahl ist " + punkte1 );
      
      }
  ;
  int zeichen = zufallszahl(3);
  String rechensymbol;
  {
   
    if(zeichen == 0){
      rechensymbol = ("+");
      }
    if(zeichen == 1){
      rechensymbol = ("-");
      }
    if(zeichen == 2){
      rechensymbol = ("*");
      }
    if(zeichen == 3){
      rechensymbol = ("/");
      }   
  }
  int zufallszahl(int n)
  {
    return new java.util.Random().nextInt(n);
  }
  
  int leseZahl()
  {
    return new java.util.Scanner(System.in).nextInt();
  } 
  
  
}
...zur Frage

Methode einer anderen Klasse ausführen

Hey leute,

Ich arbeite an einem java projekt und hänge im endspurt fest -.- Ich habe in meinem Programm 3 Klassen,

1. public class foyer {

public static void main (String[] args) {

} }

das ist quasi eine begrüßung, die einen dann zwischen den zwei weiteren klassen auswählen lassen soll.

2.

public class BMI {

   public void BMI ( String args[] ) {

} }

diese Klasse ist die eine, die man über die Klasse foyer aufrufen können soll

3.

public class TR {

public void TR ( ) {

} }

die ist die andere Klasse und ihre methode, die über foyer aufgerufen werden soll

der code in der Klasse foyer sieht so aus:

import java.util.Scanner; public class foyer {

public static void main (String[] args) {
    int auswahl = 0;
    BMI bmirechner = new BMI();
    TR taschenrechner  = new TR();
    Scanner scan = new Scanner(System.in);

    System.out.println("Herzlich Wilkommen in meinem ersten Java Programm.");
    System.out.println("");
    System.out.println("Wenn Sie den BMI-Rechner verwenden wollen, geben sie eine 1 ein.");
    System.out.println("Wenn Sie den Taschenrechner verwenden wollen, geben sie eine 2 ein.");

    String input = scan.nextLine();
    auswahl = Integer.valueOf( input ).intValue();

    if("1".equals( auswahl ) ) {

        ????
    }

    if("2".equals( auswahl ) ) {

        ????   

    }

}

}

an den Stellen mit den Fragezeichen sollen die Befehle zum Wechseln auf die jeweilige Klasse stehen.

Kann mir da vlt. jemand helfen?

Danke, Gruß PooBucket

...zur Frage

Wie kann ichWerte einer Schleife in einem Array speichern?

Ich versuche verzweifelt raus zu finden, wie man Werte von einer Schleife in einem Array speichert. Ich hoffe mir kann jemand helfen.

import java.util.Scanner;

public class Aufgabe51 {

public static void main(String[] args) {
    Scanner scn= new Scanner(System.in);
   
    int zaehler = 0, ergebnis;
   
   
   
    for(int i= 0; i<10; i++)
    {
    System.out.println("Geben Sie die Zahl ein");
    zaehler = scn.nextInt(); 

    }
   
    int [] ergebnis1 = {zaehler}; 
...zur Frage

Was möchtest Du wissen?