Also das programm liest Namen aus einer txt in eine NameList ein und soll dann zufällig einen Vornamen und Nachnamen auswählen. Dieser neue Name soll dann ausgegeben werden. Das prog kompiliert soweit nur kann ich ein bestimmtes Element aus der Liste nicht ansprechen. Hab da keinen Plan wie ich das anstellen könnte bzw klappt das nicht so wie ich es versuche. Diese zeilen 79-80 machen mir Probleme String tmp = NameList.get(zufall); und System.out.print(tmp.GetVorname);
Wär nett wenn jemand helfen könnte. evtl gehe ich die Sache ja komplett falsch an.
ps: hab bis jetzt nur c programmiert und is jetzt ne gewaltige umstellung
Wär nett wenn jemand helfen könnte. evtl gehe ich die Sache ja komplett falsch an.
ps: hab bis jetzt nur c programmiert und is jetzt ne gewaltige umstellung
Code:
import java.io.*;
import java.util.*;
class Name
{
private String m_vorname;
private String m_nachname;
public Name(String vorname, String nachname)
{
m_vorname = vorname;
m_nachname = nachname;
}
public String GetVorname()
{
return m_vorname;
}
public String GetNachname()
{
return m_nachname;
}
}
public class rng
{
public static void main(String[] args)
{
Random rn = new Random();
if(args.length == 0)
{
//eigene Namen nehmen
}
else if ( args.length == 1 )
{
ArrayList NameList = new ArrayList();
int ary_laenge = 0;
try
{
java.io.LineNumberReader in = new LineNumberReader(new FileReader(args[0]));
// loop through the file
while(in.ready())
{
// read next line.
String s = in.readLine();
// split into its elements
String[] elems = s.split(" ");
// Name l‰nger als 2 Strings
if(elems.length != 2)
{
// do nothing
}
else
{
NameList.add(new Name(elems[0], elems[1]));
ary_laenge++;
}
} //while(in.ready())
} // try
// exception handler. execution flow jumps here if bad things happen.
catch(Exception e)
{
System.err.println("Fehler beim Einlesen der Namensliste :-");
System.err.println(e.toString());
System.exit(-1);
}
//Zufallsnamen erstellen
//Vorname
int zufall = rn.nextInt(ary_laenge);
String tmp = NameList.get(zufall); //!!hier soll der vorname mit dem index zufall ausgegeben werden!!
System.out.print(tmp.GetVorname); // ersten Vornamen ausgeben
if( (zufall % 3)==0 ) //Doppelname
{
zufall = rn.nextInt(ary_laenge);
//System.out.print(NameList[zufall].GetVorname()); //zweiten Vornamen ausgeben
}
//Nachname
zufall = rn.nextInt(ary_laenge);
//System.out.print(NameList[zufall].GetNachname()); //Nachnamen ausgeben
} //else if ( args.length == 1 )
else // Ung¸ltige Parameteranzahl
{
System.err.println("Du machst etwas falsch!");
System.exit(-1);
}
} //public static void main(String[] args)
}