Java 获得;尝试从hashmap获取对象时不是语句

Java 获得;尝试从hashmap获取对象时不是语句,java,object,hashmap,Java,Object,Hashmap,当我试图从hashmap获取对象以便使用它时,我遇到了一个错误。当我使用这句话时: Linje 1=linjerMap.get(linjeList[i]); 其中Linje是对象,1是所需的objectvariable,linjerMap是hashmap,linjeList是存储对象密钥名称的位置 代码的其余部分: import java.util.*; import java.io.*; class Oblig5{ public stati

当我试图从hashmap获取对象以便使用它时,我遇到了一个错误。当我使用这句话时:

                    Linje 1=linjerMap.get(linjeList[i]);
其中Linje是对象,1是所需的objectvariable,linjerMap是hashmap,linjeList是存储对象密钥名称的位置

代码的其余部分:

import java.util.*;
import java.io.*;

class Oblig5{

    public static void main(String[] args){

    Planlegger starten=new Planlegger();
    starten.lesFil();

    }
}

class Planlegger{

    Scanner input=new Scanner(System.in);
    HashMap<String, Linje> linjerMap=new HashMap<String, Linje>();
    HashMap<String, Stasjon> stasjonerMap=new HashMap<String, Stasjon>();

    void lesFil(){

        Linje linjer;
        Stasjon stasjoner;
        String linjeLest="";
        String aktuellLinje="";
        String linjeNummer="";
        char[] linjeNummerA;
        int linjeNummerInt=0;

        try{
            Scanner innFil=new Scanner(new File("Rutetabell.txt"));

            while(innFil.hasNextLine()){

                linjeLest=innFil.nextLine().toLowerCase();

                if(linjeLest.contains("linje")){
                    System.out.println("TESTILINJE");
                    //Bruker en string for linjenummeret her for å lette bruken av nummeret som key i HashMapen. 

                    linjeNummerInt=Integer.parseInt(linjeLest.replaceAll("[\\D]", ""));
                    // linjeNummerA[0]=linjeLest.split("*linje* ").charAt(0);
                    // linjeNummer=linjeNummer[0];
                    linjer=new Linje(linjeNummer);
                    aktuellLinje=linjeNummer;
                    linjerMap.put(linjeNummer, linjer); 

                }else{
                    System.out.println("TESTISTASJON");
                    //Dersom ikke objektet finnes i hashmapen for stasjoner allerede, så lages objektet og lagres i HashMapen. 
                    if(!stasjonerMap.containsKey(linjeLest)){
                        stasjonerMap.put(linjeLest, new Stasjon(linjeLest));
                    }
                    //Her henter jeg ut objektet vi lager over, og om det ikke lages fordi det allerede eksisterer så hentes det ut uansett.
                    stasjoner=stasjonerMap.get(linjeLest);
                    //Her brukes objektinformasjonen over til å registrere stasjonen i objektet
                    linjer=linjerMap.get(aktuellLinje);
                    linjer.registrerStasjoner(linjeLest, stasjoner);
                    stasjoner.registrerNyLinje(aktuellLinje, linjer);
                }       
            }
            innFil.close();
        }catch(IOException e){
            e.printStackTrace();
        }
        System.out.println("Test");
        String sjekkHashmap=input.nextLine();
        if(stasjonerMap.containsKey(sjekkHashmap)){
            System.out.println("Det funker!");
        }
    }

    void beregnRuter(Stasjon fraSt, Stasjon tilSt){


    }

    void lesFraTil(){
        fraStasjon();
    }

    void fraStasjon(){

        boolean sjekkStasjon=true;
        while(sjekkStasjon){
            System.out.println("Vennligst tast inn fra-stasjonen: ");
            String startStasjon=input.next().toLowerCase();
            if(stasjonerMap.containsKey(startStasjon)){
                sjekkStasjon=false;
                tilStasjon(startStasjon);
            }else{
                System.out.println("Stasjon ikke funnet.");
                sjekkStasjon=true;
            }
        }
    }

    void tilStasjon(String startStasjon){

        boolean sjekkStasjon=true;
        while(sjekkStasjon){
            System.out.println("Vennligst tast inn til-stasjonen: ");
            String sluttStasjon=input.next().toLowerCase();
            if(stasjonerMap.containsKey(sluttStasjon)){
                sjekkStasjon=false;
                rutePlanlegger(startStasjon, sluttStasjon);
            }else{  
                System.out.println("Stasjon ikke funnet.");
                sjekkStasjon=true;
            }
        }
    }

    void rutePlanlegger(String startStasjon, String sluttStasjon){

        Stasjon til=stasjonerMap.get(startStasjon);
        Stasjon fra=stasjonerMap.get(sluttStasjon);
        int tilStasjonsTall, fraStasjonsTall;
        int retning;
        double tid= 0.0;
        String endeStasjonsNavn;

        tilStasjonsTall=0;
        fraStasjonsTall=0;

        for (int i = 0; i < list.size(); i++) {
            for (int j = 0; j < list.size(); j++) {
                if(fra.linjeList[i].equals(til.linjeList[j])){
                    Linje 1=linjerMap.get(linjeList[i]);
                    retning=1.stasjonsNummer(startStasjon) - 1.stasjonsNummer(sluttStasjon);
                    endeStasjonsNavn=1.endestasjon(retning).stasjonsNavn;
                    System.out.println("Ta T-bane linje " + 1.linjeNummer + " fra " + startStasjon + " til " sluttStasjon + " i retning " + endeStasjonsNavn + ". Estimert reisetid: " + tid);



            }
        }
    }
}

class Linje{
    String linjeNummer="";
    HashMap<String, Stasjon> linjeStasjoner=new HashMap<String, Stasjon>();
    int antallStasjoner=0;
    int type=0;
    ArrayList<Stasjon> stasjonsList=new ArrayList<Stasjon>();

    int antall=stasjonsList.length();

    Linje(String linjeNummer){
        this.linjeNummer=linjeNummer;   
        if (linjeNummer<10){
            type=0;
        }else{
            type=1;
        }
    }



    void registrerStasjoner(String linjeLest, Stasjon stasjon){
        linjeStasjoner.put(linjeLest, stasjon);
        stasjonsList.add(stasjon);
        antallStasjoner++;
    }

    boolean inneholder(Stasjon stasjon){
        boolean sannhetsSjekk=true;
        if(stasjonsList.contains(stasjon)){
            sannhetsSjekk=true;
        }else{
                sannhetsSjekk=false;
        }
        return sannhetsSjekk;
    }

    Stasjon endestasjon(int retning) {                
        if (retning > 0) {
            return stasjoner[0];
        }

        return stasjoner[antall-1];
    }

    int stasjonsNummer (Stasjon s) {

        for (int i = 0; i < stasjonsList.length(); ++i) {
            if (stasjoner[i] == s) {
                return i;
            }
        }

        return -1;
    }          
}

class Stasjon{
    String stasjonNavn;
    Linje linje;
    HashMap <String, Linje> stasjonsLinjer=new HashMap<String, Linje>();
    ArrayList<Linje> linjeList=new ArrayList<Linje>();
    int teller=0;

    Stasjon(String linjeLest){
    this.stasjonNavn=linjeLest;
    }

    void registrerNyLinje(String aktuellLinje, Linje linje){
    stasjonsLinjer.put(aktuellLinje, linje);
    linjeList.add(linje);
    teller++;
    }
}

class Overgang{

        Linje l1, l2;
        Stasjon fra,til,bytte;
        Planlegger planlegger;




}
import java.util.*;
导入java.io.*;
类别5{
公共静态void main(字符串[]args){
Planlegger starten=新的Planlegger();
starten.lesFil();
}
}
类刨削机{
扫描仪输入=新扫描仪(System.in);
HashMap linjerMap=新的HashMap();
HashMap statsJonerMap=新HashMap();
void lesFil(){
林杰林杰;
Stasjon stasjoner;
字符串linjeLest=“”;
字符串aktuellLinje=“”;
字符串linjeNummer=“”;
查林杰努梅拉;
int-linjeNummerInt=0;
试一试{
Scanner innFil=新扫描仪(新文件(“Rutetabell.txt”);
while(innFil.hasNextLine()){
linjeest=innFil.nextLine().toLowerCase();
if(linjeLest.contains(“linje”)){
System.out.println(“TESTILINJE”);
//布鲁克为林杰努梅雷特准备了一条线,让她为我的哈斯马潘之家准备一条线。
linjeNummerInt=Integer.parseInt(linjeest.replaceAll(“[\\D]”,“);
//linjeNummerA[0]=linjeLest.split(“*linje*”).charAt(0);
//linjeNummer=linjeNummer[0];
linjer=新Linje(linjeNummer);
aktuellLinje=linjeNummer;
林杰尔地图(林杰努默,林杰尔);
}否则{
System.out.println(“TESTISTASJON”);
//在阿勒雷德州,我的目标是芬兰人,而在哈斯马潘州,我的目标是芬兰人。
如果(!statjonermap.containsKey(linjeest)){
statsjonermap.put(linjeest,新statsjon(linjeest));
}
//她的亨特·杰格(henter jeg ut objektet vi lager)结束了,她说,我的生活在乌恩塞特(uansett)附近。
stasjoner=stasjonerMap.get(linjeest);
//她的brukes对象信息在注册之前
linjer=linjerMap.get(aktuellLinje);
linjer.RegisterStatsJoner(Linjeest,StatsJoner);
国家登记处(aktuellLinje,linjer);
}       
}
innFil.close();
}捕获(IOE异常){
e、 printStackTrace();
}
系统输出打印(“测试”);
字符串sjekkHashmap=input.nextLine();
if(statsjonermap.containsKey(sjekkHashmap)){
System.out.println(“Det funker!”);
}
}
void Beregnuter(斯塔森·弗雷斯特、斯塔森·蒂尔斯特){
}
void lesFraTil(){
fraStasjon();
}
void fraStasjon(){
布尔值sjekkStasjon=true;
而(sjekkStasjon){
System.out.println(“弗拉斯塔佐宁文尼格斯特塔斯酒店:”);
字符串startStasjon=input.next().toLowerCase();
if(stasjonerMap.CONTANSKEY(startStasjon)){
sjekkStasjon=假;
tilStasjon(startStasjon);
}否则{
System.out.println(“Stasjon ikke funnet”);
sjekkStasjon=真;
}
}
}
void tilStasjon(字符串startStasjon){
布尔值sjekkStasjon=true;
而(sjekkStasjon){
System.out.println(“Vennligst tast inn til stasjonen:”);
String sluttStasjon=input.next().toLowerCase();
if(StatsJonerMap.containsKey(SluttStatsjon)){
sjekkStasjon=假;
Ruteplanleger(startStasjon、Sluttstatsjon);
}否则{
System.out.println(“Stasjon ikke funnet”);
sjekkStasjon=真;
}
}
}
void Ruteplanleger(弦乐起点、弦乐起点){
Stasjon til=stasjonerMap.get(startStasjon);
Stasjon fra=stasjonerMap.get(sluttStasjon);
int tilStasjonsTall、fraStasjonsTall;
整饰;
双tid=0.0;
字符串endeStasjonsNavn;
tilStasjonsTall=0;
fraStasjonsTall=0;
对于(int i=0;iLinje one = linjerMap.get(linjeList[i]);
Linje 1=linjerMap.get(linjeList[i]);
Linje x1=linjerMap.get(linjeList[i]);
Linje linje1 = linjerMap.get(linjeList[i]);