Avatar billede tinaw25 Nybegynder
07. maj 2014 - 15:17 Der er 3 kommentarer og
1 løsning

Sletter ArrayList ved hver indtastning

Hej

Vi henter en list fra en textfil ind i en arrayliste, og den indeholder et navn og et efternavn.

Vi vil gerne have at når man skriver navnet i consolen, skal den finde den person og man så kan indtaste et resultat som den skriver i arraylisten efter efternavnet, det gør den også.

Men når vi så køre igen og indtaster et andet navn og efternavn så sletter den det tidligere resultat vi gerne skulle have i arraylisten som vi allerede har indtastet sidste gang. Og starter på ny igen, hvad er det lige at jeg gør forkert?

Det er koden jeg har indtil videre:

import java.util.*;
import java.io.*;
public class result
{
 
  getList list = new getList();
  Scanner input;
  Scanner result;
  PrintStream output;
 
  public result() throws Exception
  {
     
        ArrayList<String> resultList = new ArrayList<String>(list.showListToArray());
       
        output = new PrintStream(new File("compititionsResult.txt"));
        input = new Scanner(System.in);
       
        result = new Scanner(System.in);
 
        String name = input.next();
        String lastName = input.next();
             
       
        for(int i =0; i < 1; i++)
            {         
             
             
              if(resultList.contains(name) && resultList.contains(lastName))
              {
                  System.out.print(resultList.get(resultList.indexOf(name)) + " " + resultList.get(resultList.indexOf(name)+1) );
                  System.out.print(name + lastName + "Enter his result ");
                 
                  String bestResult = result.next();
                 
                  int position = resultList.indexOf(lastName)+1;
                                           
                  resultList.add(position, bestResult);                 
                 
             
              }
             
     
            }
            System.out.print(resultList);
       
  }



}

Håber nogle vlle hjælpe, kan ikke helt gennemskue hvorfor den gør det.
Avatar billede arne_v Ekspert
07. maj 2014 - 15:22 #1
Beskrivelsen er ikke helt klar, men jeg gaetter paa at:

public result() throws Exception
  {
   
        ArrayList<String> resultList = new ArrayList<String>(list.showListToArray());

skal laves om til:

private ArrayList<String> resultList = new ArrayList<String>(list.showListToArray());

public result() throws Exception
  {
 
for at bevare den listee mellem forskellige kald til result.
Avatar billede tinaw25 Nybegynder
07. maj 2014 - 22:10 #2
Undskyld det sene svar, men skulle lige hjem fra arbejde.

jeg har denne arraylist resultList som henter inholdet fra en tesktfil og ligger over i en arraylist. Denne arraylist indeholder nu fornavne og efternavne.

Når jeg søger i arraylisten efter det navn hvor jeg vil tilføje en tid, sletter den det jeg har indskrevet fra sidst hvergang jeg køre dette array.

Så hvis jeg åbner programmer og siger at jeg vil finde navnet Jim, så finder den navnet jim og beder mig om at indtaste en tid for denne person, f.eks. 100 det indsætter den også korrekt efter den person. Men det skulle gerne blive i arraylisten næste gang jeg køre programmet uden at slette det igen.

For hvis jeg åbner programmet igen og køre det, og finder et andet navn f.eks. Lene og programmet beder mg om at indtaste en tid, og jeg skriver 80 denne gang og den udskriver arraylisten, så har den slettet den indtastning jeg lavede tidligere ved Jim og udskriver kun den ved Lene.

Så den tømmer mit arraylist hver gang jeg køre programmet, den skulle bare tilføje en tid hvergang programmet køre.

Jeg kan ikke lige gennemskue hvor jeg ikke kan få mit program til at gøre dette?
Avatar billede poloen Nybegynder
14. juni 2014 - 00:22 #3
Hukommelsen er blevet renset, Java har en automatisk Mark And Sweep Garbage Collector, så dine objekter og/eller referencer slettes når de ikke længere er i brug.

Brug evt. Javas bibliotek - java.io.File, java.io.FileWriter, java.io.FileReader, java.io.IOException til at gemme/læse din data.
Avatar billede tinaw25 Nybegynder
02. oktober 2014 - 12:25 #4
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester