Avatar billede connor Nybegynder
28. oktober 2001 - 11:21 Der er 5 kommentarer og
2 løsninger

lægge tal sammen...

Jeg har dette eksempel på javakode bestående af to klasser.

Det virker fint da det er et færdigt eksempel, men hvordan laver jeg en metode som kan lægge 6 30, og 80 samen, og udskrive det færdige resultat?

class CurioStore1 {

  /* Curio Store No. 1        by J M Bishop April 2000
  * -----------------
  * Illustrates the basic form of an object oriented program
  */

  // Declare three object variables
  Curio mugs, tshirts, carvings;

  // The constructor for the program is
  // where the initial work gets done
  CurioStore1 () {
    // Create three objects with different initial values
    mugs = new Curio(\"Traditional mugs\", 6, \"beaded in Ndebele style\");
    tshirts = new Curio(\"T-shirts\", 30, \"sizes M to XL\");
    carvings = new Curio(\"Masks\", 80, \"carved in wood\");

    // Print out a header
    System.out.println(\"The Polelo Curio Store sells\\n\");

    // Print the values contained in each of the objects
    mugs.write();
    tshirts.write();
    carvings.write();
  }

  // All programs must have a main method
  public static void main (String [ ] args) {
    // Start the program running from its constructor
    new CurioStore1 ();
  }
}

class Curio {

  // Declare variables related to a curio
  String name;
  int price;
  String description;

  // The constructor copies the initial values
  // into the object\'s variables
  Curio (String n, int p, String d) {
    name = n;
    price = p;
    description = d;
  }

  // a method to output the values of the object\'s variables
  void write () {
    System.out.println(name + \" \" + description + \" for G\" + price);
  }
}
Avatar billede netsrac Praktikant
28. oktober 2001 - 11:26 #1
public class regn
{
  public static void main(String args[])
  {
  System.out.println(6+30+80);
  }
}

Er ikke helt med på om det er det du vil have ?
Avatar billede jakoba Nybegynder
28. oktober 2001 - 11:37 #2
void summa ( int[] args ) {
    int sum = 0;
    for ( int i = args.length()-1; i>=0; i--) sum += args[i];
    System.out.printLn( sum );
}
Avatar billede connor Nybegynder
28. oktober 2001 - 11:53 #3
ok..
Den skal tage de faktiske tal: 6 30 80 og lægge sammen. Og hvis man ændrede dem i CorioStore1 klassen skal der således printes et andet resultat ud. Kan det ikke gøres via en metode i corio klassen, som så bliver \"kaldt\" i coriostore1 klassen. En metode med return måske?
Avatar billede jakoba Nybegynder
28. oktober 2001 - 12:08 #4
metoden summa kaldes med:

  summa( { mugs.price, tshirts.price, carvings.price } );

mvh JakobA
Avatar billede connor Nybegynder
28. oktober 2001 - 12:17 #5
hvor skal dette sættes ind for at virke?
Avatar billede ladyhawke Novice
28. oktober 2001 - 12:25 #6
//arrayet herunder skal indeholde de priser du vil have lagt sammen
int[] pricesInSum = {mugs.price, tshirts.price,  carvings};

int summa ( int[] args ) {
    int sum = 0;
    for ( int i = args.length()-1; i>=0; i--){
      sum += args[i];
    }
    System.out.println(sum);
    return sum;
}

når du skal have summen bruger du:
(klasse).summa(pricesInSum);

Dette er måske det du vil have?
Avatar billede jakoba Nybegynder
28. oktober 2001 - 13:27 #7
class CurioStore1 {

  /* Curio Store No. 1        by J M Bishop April 2000
  * -----------------
  * Illustrates the basic form of an object oriented program
  */

  // Declare three object variables
  Curio mugs, tshirts, carvings;

  // The constructor for the program is
  // where the initial work gets done
  CurioStore1 () {
    // Create three objects with different initial values
    mugs = new Curio(\"Traditional mugs\", 6, \"beaded in Ndebele style\");
    tshirts = new Curio(\"T-shirts\", 30, \"sizes M to XL\");
    carvings = new Curio(\"Masks\", 80, \"carved in wood\");

    // Print out a header
    System.out.println(\"The Polelo Curio Store sells\\n\");

    // Print the values contained in each of the objects
    mugs.write();
    tshirts.write();
    carvings.write();
    int[] priser = { mugs.price, tshirts.price, carvings.price };  //NY Linie
    summa( priser );                                                // NY linie
  }
 
  static int summa( int[] args ) {  // NY FUNKTION
    int sum = 0;
    for ( int i = args.length-1; i>=0; i--)
      sum += args[i];
    System.out.println( sum );
    return sum;
  }

  // All programs must have a main method
  public static void main (String [ ] args) {
    // Start the program running from its constructor
    new CurioStore1 ();
  }
}

class Curio {

  // Declare variables related to a curio
  String name;
  int price;
  String description;

  // The constructor copies the initial values
  // into the object\'s variables
  Curio (String n, int p, String d) {
    name = n;
    price = p;
    description = d;
  }

  // a method to output the values of the object\'s variables
  void write () {
    System.out.println(name + \" \" + description + \" for G\" + price);
  }
}
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
Kategori
Kurser inden for grundlæggende programmering

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