Gå til innhold

Whiskey^

Medlemmer
  • Innlegg

    6
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Whiskey^

  1. Problemet med den opprinnelige koden din er at variablene "xPosisjonStreng" osv. i Person-klassen får verdier når et Person-objekt blir opprettet, dermed vil xPosisjonStreng alltid få verdien "0.0m" (da verdien av xPosisjon blir satt til 0.0 når et Person-objekt opprettes). Uten å ha sett oppgaven antar jeg at det er meningen du skal skrive en "toString()"-metode i Person-klassen, slik at du kan bruke "System.out.println(Person1);" i main-metoden (og vær så snill, ikke bruk stor bokstav først i variabelnavn...)

    Det stemmer jonny. "toString()" metoden skal være i person-klassen som du sier. Noen tips? henger som sagt fast.. :mellow:

  2. Du gjør det vanskelig for deg selv:

    package Oppgave2;
    
    import java.util.Scanner;
     
    class Person{
     //--- Feltvariabler
      private String navnPerson; //GAVEKORTFIX (tm)
      private double xPosisjon, yPosisjon ; //GAVEKORTFIX (tm)
      
      String  hentNavn()                      {return navnPerson;    }
      double  hentXPosisjon()                 {return xPosisjon;     }
      double  hentYPosisjon()                 {return yPosisjon;     }
      //GAVEKORTFIX (tm)
      void    settNavn(String navnPerson)       {this.navnPerson = navnPerson;}
      void    settXPosisjon(double xPosisjon)  {this.xPosisjon = xPosisjon; }
      void    settYPosisjon(double yPosisjon)  {this.yPosisjon = yPosisjon; }
      //END GAVEKORTFIX (tm)
      
     
       //KAN FJERNES
      Double xPosisjonDouble = new Double(hentXPosisjon());
      String xPosisjonStreng = xPosisjonDouble.toString() + "m";
      
      Double yPosisjonDouble = new Double(hentYPosisjon());
      String yPosisjonStreng = yPosisjonDouble.toString() + "m";
     
      }
     
    public class Oppgave2 {
        public static void main(String [] args) {
          
          Scanner tastatur = new Scanner(System.in);
          
          /// --- Opprette ny person
          Person Person1 = new Person();
          
          System.out.println("Skriv inn navn: ");
          Person1.settNavn(tastatur.nextLine());
          System.out.println("Skriv inn X-posisjon: ");
          Person1.settXPosisjon(tastatur.nextDouble());
          System.out.println("Skriv inn Y-posisjon: ");
          Person1.settYPosisjon(tastatur.nextDouble());
    
    
          //GAVEKORTFIX (tm)
          System.out.printf(Person1.hentNavn() + ": (%.2fm , %.2fm)", // (1)
          Person1.hentXPosisjon(), Person1.hentYPosisjon());
          //END GAVEKORTFIX (tm)
        }     
    }
    

    Endringer er markert

    takk for svar Gavekort!

     

    Grunnen til at jeg har tatt med toString er pga oppgaven sier at "etter innlesing av personenes navn og posisjoner ska programmet først skrive ut navn og posisjon for hver person ved hjelp av toString()-metoden..." 

     

    har du noen tips ?

  3. Hei og god kveld folkens!

    Er det noen her som kan forklare meg hvorfor s.o (punkt (1))  printer "(0.0m , 0.0)" selvom jeg trykker inn en annen verdi? jeg tror det mest sannsynlig er koden markert med oransje som roter det til på et eller annet vis men jeg står bom fast. 


     
    Koden:
    ------------------------------------------------------------
     

    import java.util.Scanner;

     
    class Person{
     //--- Feltvariabler
      String navnPerson;
      double xPosisjon, yPosisjon ;
      
      String  hentNavn()                      {return navnPerson;    }
      double  hentXPosisjon()                 {return xPosisjon;     }
      double  hentYPosisjon()                 {return yPosisjon;     }
      void    settNavn(String nyttNavn)       {navnPerson = nyttNavn;}
      void    settXPosisjon(double settXPos)  {xPosisjon = settXPos; }
      void    settYPosisjon(double settYPos)  {yPosisjon = settYPos; }
      
     
      Double xPosisjonDouble = new Double(hentXPosisjon());
      String xPosisjonStreng = xPosisjonDouble.toString() + "m";
      
      Double yPosisjonDouble = new Double(hentYPosisjon());
      String yPosisjonStreng = yPosisjonDouble.toString() + "m";
     
      }
     
    public class Oppgave2 {
        public static void main(String [] args) {
          
          Scanner tastatur = new Scanner(System.in);
          
          /// --- Opprette ny person
          Person Person1 = new Person();
          
          System.out.println("Skriv inn navn: ");
          Person1.settNavn(tastatur.nextLine());
          System.out.println("Skriv inn X-posisjon: ");
          Person1.settXPosisjon(tastatur.nextDouble());
          System.out.println("Skriv inn Y-posisjon: ");
          Person1.settYPosisjon(tastatur.nextDouble());
          
          System.out.printf(Person1.hentNavn() + ": (%s , %s)", // (1)
          Person1.xPosisjonStreng, Person1.yPosisjonStreng);
        }     
    }
    -----------------------------------------------------------------------------
  4. Hei folkens,

     

    Jeg holder på med en innlevering hvor jeg skal lage et hult rektangel. Hjørnene skal være: " * " , sidene:" | " og topp og bunn skal være " - ".

    Så langt har jeg klart hjørnene og sidene, men sliter enda med topp og bunn. 

     

    så det jeg har nå er:                     mens jeg egentlig skal:

    *******                                                             *-----*

     |         |                                                            |        |

     |         |                                                            |        |

    *******                                                             *-----*

     

    Det er også en deloppgave at man skal få frem forbokstaven i navnet sitt i midten av figuren.

     

    Noen tips til hvordan jeg skal gå frem her? 

     

    - Whiskey^

     

    -------------------------------------------------------------

    Koden : 

     

    import java.util.Scanner;

     
    class HultRektangel{
      public static void main(String[]args){
      
        Scanner tastatur = new Scanner(System.in);
        System.out.print("Gi høyde på rektangel");
        int høyde = tastatur.nextInt();
        
        System.out.print("Gi bredde på rektangel");
        int bredde = tastatur.nextInt();
        
        for(int j=1; j<=høyde; j++){
          for(int i=1; i<=bredde; i++){
          
            if(j==1|| j==høyde ){
              System.out.print("*");  
            }
            else if(i==1 || i==høyde){
              System.out.print("|");
            }
            else{
              System.out.print(" ");
            }
          }
              System.out.println();
        }
      }
    }
×
×
  • Opprett ny...