Jag skall göra ett program som hanterar spelresultat..
I programmet visas först en meny, som man via denna, kommer till önskad aktivitet, lägga till nytt resultat, eller visa alla tidigare resultat.. om ett resultat med det inmatade namnet redan finns så skall bara poängen uppdateras, om den är större än tidigare max värde..
dvs kortfattat:
startameny;
vi väljer lägg till poäng;
OM det är första resultatet som lagts in så skapas en Vektor games, och namn och poäng läggs in..
Annars jämförs namnet med alla spel i Vektorn, om lika namn hittas, jämför poäng, uppdatera om nytt värde större än gamla värdet, annars skapa nytt inlägg i Vektorn med namn och poäng.
Får errors "cannot resolve symbol class Vector" && "cannot resolve symbol variable games"..
1. Hur fixar jag till skapandet av Vektorn? Gör jag det på smidigt sätt?
2. Jag får inte metoden checkPoints att fungera, har totat ihop den så långt jag kan.. den skall ju jämföra namnet i objektet Spel, med namnen i Vektorn först...
3. Det är väl smartast att använda sig av en Vektor i detta program, tänkte köra array först, men då man inte vet hur många element den skulle kunna komma att innehålla så tyckte jag Vektor verkade bäst..?
KODEN:
..........................
Main.java:
import extra.*;
public class Main {
public static void main (String[] arg) {
// Ladda meny
Meny m1 = new Meny();
m1.skapaMeny();
}
}
Meny.java:
import extra.*;
public class Meny{
// Instansvariabler
private int val;
// Konstruktor
public Meny(){
skapaMeny();
}
// Metoder
public void skapaMeny(){
Std.out.println(" <--// SPELHÖRNAN.NET //--> \n");
Std.out.println("0 - Lägg till nytt spelresultat");
Std.out.println("1 - Skriv ut spelresultat");
// läsa av valet
läsavMeny();
}
public void läsavMeny(){
Std.out.println("\nVälj ditt alternativ + <ENTER>: ");
val=Std.in.readInt();
// gå till rätt undermeny
subMeny();
}
// Läs av meny-val
public void subMeny(){
switch(val){
case 0: läggTill(); break;
case 1: visaAllt(); break;
default: Std.out.println("Fel val\n"); läsavMeny();
}
}
// Skapar ett nytt spelobjekt
public void läggTill(){
Std.out.print("Skriv in spelets namn: ");
String namn=Std.in.readWord();
Std.out.print("Skriv in ditt resultat: ");
long poäng=Std.in.readLong();
Spel temp = new Spel(namn,poäng);
}
// Visa alla resultat
public void visaAllt(){
// bla
Std.out.println("Här följer alla resultat:\n");
// hämtning av resultat
}
} // class
Spel.java:
import extra.*;
public class Spel{
// Instansvariabler
private int i=0;
private String namn;
private long poäng;
// Konstruktor
public Spel(String n, long p){
namn=n;
poäng=p;
i++;
// Kontrollera om Vektor finns
firstGame();
}
// Metoder
public void firstGame(){
if (i <= 1){
Vector games = new Vector();
games.add(new Spel(namn, poäng ));
}else checkPoint();
}
// Kontrollerar om spelet finns sparat sedan tidigare,
// om ja: jämför poäng och uppdatera då nytt värde är
// större än tidigare, om nej: lägg till nytt spel med
// index, namn och poäng.
public void checkPoint(){
if (namn.equals("/*något namn i Vektorn*/")){
Std.out.println("spelet finns redan\n");
/* - hämta ut spelpoäng från inmatat namn...hur?!
Spel tmpSpel = (Spel)games.get(n);
long a = tmpSpel.gePoäng();
long b = poäng;
if (b>a) tmpSpel.sättPoäng(poäng);
*/
}
else{
games.add(new Spel(namn, poäng ));
}
}
// returnerar poäng
public long gePoäng(){
return poäng;
}
public void allaSpel(){
// Utskrift av alla spel i vektorn
for(int n = 0; n < games.size(); n++){
System.out.print(games.get(n) + "\n");
}
}
}
tack på förhand! /joph