有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java,在main中提供int值,并在其他类中使用该值(不能只使用classname.intname)

我想取值“渣”,我一直给它一个随机值,并在类“spiller”中使用它。如果需要,我可以发布代码的其余部分

public static void main(String[] arg)
  {
    Matadorspil spil = new Matadorspil();
    spil.spillere.add(new Spiller("Phillip",50000));   // opret spiller Søren
    spil.spillere.add(new Spiller("Jaqob",50000));   // opret spiller Gitte
    spil.spillere.add(new Spiller("Rune",500000));

    // løb gennem 20 runder (40 ture)
    for (spil.spillersTur=0; spil.spillersTur<400000; spil.spillersTur++)
    {
      // tag skiftevis Søren og Gitte (% er forklaret i afsnit Fejl: Henvisningskilde ikke fundet)
      Spiller sp = spil.spillere.get(spil.spillersTur % spil.spillere.size());
      int slag = (int)(Math.random()*6)+1;     // og slå et terningkast (1-6)
      System.out.println("***** "+sp.navn+" på felt "+sp.feltnr+" slår "+slag);
      for (int i=1; i<=slag; i=i+1)                  // nu rykkes der
      {
        // gå til næste felt. Hvis vi når over antal felter så tæl fra 0
        sp.feltnr = sp.feltnr + 1;
        if (sp.feltnr == spil.felter.size()) sp.feltnr=0;
        Felt felt = spil.felter.get(sp.feltnr);

        if (i<slag) felt.passeret(sp); // kald passeret() på passerede felter
        else felt.landet(sp);          // kald landet() på sidste felt
        try { Thread.sleep(300); } catch (Exception e) {} // vent 0.3 sek
      }
      try { Thread.sleep(30); } catch (Exception e) {} // tur slut, vent 3 sek
    }
  }

我想在其中使用它的类:

   public class Bryggeri extends Felt{
    Spiller ejer;
    double pris;
    double grundleje;
    public Bryggeri(String navn, double pris, double leje){
        this.navn = navn;
        this.pris = pris;
        this.grundleje = leje;
    }

    public void landet(Spiller sp){
        sp.besked("Du er landet på "+navn);
        if (sp==ejer){
            sp.besked("Det er din egen grund");
        }
        else if (ejer==null){
            if (sp.konto > pris){
                if (sp.spørgsmål("købe "+navn+" for "+pris)){
                    sp.transaktion( -pris );
                    ejer=sp;
                }
            }
            else sp.besked("Du har ikke penge nok til at købe "+navn);
        }
        else{
            sp.besked("Leje: "+grundleje);
            sp.betal(ejer, grundleje);
        }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    如果要在另一个类中使用该值,请尝试为此值创建setter和getterslag

     private int slag;
    
    public int getSlag() {
        return slag;
    }
    
    public void setSlag(int slag) {
        this.slag = slag;
    }
    

    您可以在第一个类中执行此操作,其中您有值slag请尝试添加上面的代码,在第二个类中,您希望在主方法中使用此代码,请将其设置为:

     class1 cl1 = new class1();
        cla1.setSlag(999);
    

    在代码中,使用getSlag()检索该值。 有关更多信息,请访问link