Avatar billede mads375 Juniormester
16. september 2013 - 16:46 Der er 5 kommentarer og
1 løsning

alder opgave

Hejsa.

Jeg sidder lige for sjov og øver mig lidt på java. Jeg har en main klasse her:


package test_center;
import java.util.Scanner;

public class Apples_name {
    public static void main(String[]args) {
       
    Scanner input = new Scanner(System.in);
    Tuna_name Objectname = new Tuna_name();
    Peach_name Objectage = new Peach_name();
   
    System.out.println("Enter your name here: ");
   
    String name = input.nextLine();
    Objectname.simpleName(name);
   
    System.out.println("Enter your age here: ");
   
    int age = input.nextInt();
    Objectage.simpleAge(age);
   
   
   
    if (age <= 10) {
        System.out.println("You are a child");
    }
    else if (age < 18) {
        System.out.println("You are a teenager");
    }
    else {
        System.out.println("You are an adult");
    }   
   
    if (age < 18) {
        for(int age=1; age<=18; age++)
            System.out.println("Du er 18 år om: ");
    }
   
   
    }

}

Endvidere har jeg en metode i Tuna_name og Peach_age:


package test_center;

public class Tuna_name {
   
    public void simpleName(String name) {
        System.out.println("This is your " + name);
    }

}

og

package test_center;

public class Peach_name {
   
    public void simpleAge(int age) {
        System.out.println("This is your age: " + age);
    }

}

Jeg vil gerne lave en forløkke til sidst i min main metode. Hvis jeg fx skriver ind jeg er 2 år, så vil jeg gerne have en forløkke som tæller til 18. Det vil sige beskeden hed noget med:

System.out.println("Du er nu 18 år om 11 år");
System.out.println("Du er nu 18 år om 10 år");
System.out.println("Du er nu 18 år om 9 år");
System.out.println("Du er nu 18 år om 8 år");
System.out.println("Du er nu 18 år om 7 år");

etc. Det hele virker fint, men jeg er meget i tvivl om hvordan jeg laver min forløkke, så den kan gøre det?

Mvh Mads
Avatar billede claes57 Ekspert
16. september 2013 - 16:52 #1
du skal også lige rette
if (age <= 10) {
        System.out.println("You are a child");
til
if (age <= 12) {
        System.out.println("You are a child");

12 = twelve, 13 = thirteen (og heraf teen-ager som kører til og med 19))
Avatar billede mads375 Juniormester
16. september 2013 - 16:57 #2
Det er irrelevant for mig. Det er blot for sjov denne opgave, så om det er 4 år man bliver teenager, eller det er som 57 årige er egentligt lige meget. Det er mere for at bruge de forskellige ting jeg har lært...
Avatar billede mads375 Juniormester
16. september 2013 - 22:50 #3
Jeg tænker bare min forløkke skal jo tage mit input fra scanneren og tælle op til 18

for (age=1; age<=18; age++) {
        System.out.println(age);
    }

Her tæller den jo bare op for 1... age skal vel være = input, eller hvordan?

mvh Mads
Avatar billede mads375 Juniormester
16. september 2013 - 23:17 #4
Hvis man ser bort fra forløkken, burde dette så egentligt ikke gøre det? Jeg får bare ikke printet alderen ud til sidst. Jeg tager tallet fra "age", og sige 18 - age og gemmer det i variablen antal. Derefter printes "antal", men der printes ikke noget?


package test_center;
import java.util.Scanner;

public class Apples_name {
    public static void main(String[]args) {
       
    Scanner input = new Scanner(System.in);
    Tuna_name Objectname = new Tuna_name();
    Peach_name Objectage = new Peach_name();
    int antal;
   
    System.out.println("Enter your name here: ");
   
    String name = input.nextLine();
    Objectname.simpleName(name);
   
    System.out.println("Enter your age here: ");
   
    int age = input.nextInt();
    Objectage.simpleAge(age);
   
    if (age <= 10) {
        System.out.println("You are a child");
    }
    else if (age < 18) {
        System.out.println("You are a teenager");
    }
    else {
        System.out.println("You are an adult");
    }   
   
    System.out.println("You will be 18 years in: ");
   
    age = input.nextInt();
    antal = 18 - age;
    System.out.println(antal);
    }

}
Avatar billede mads375 Juniormester
16. september 2013 - 23:21 #5
Ah selvfølgelig. Dumt af mig:



package test_center;
import java.util.Scanner;

public class Apples_name {
    public static void main(String[]args) {
       
    Scanner input = new Scanner(System.in);
    Tuna_name Objectname = new Tuna_name();
    Peach_name Objectage = new Peach_name();
    int antal;
   
    System.out.println("Enter your name here: ");
   
    String name = input.nextLine();
    Objectname.simpleName(name);
   
    System.out.println("Enter your age here: ");
   
    int age = input.nextInt();
    Objectage.simpleAge(age);
   
    if (age <= 10) {
        System.out.println("You are a child");
    }
    else if (age < 18) {
        System.out.println("You are a teenager");
    }
    else {
        System.out.println("You are an adult");
    }   
   
    System.out.println("You will be 18 years in: ");
   
    antal = 18 - age;
    System.out.println(antal + " years");
   
    }

}
Avatar billede mads375 Juniormester
17. september 2013 - 16:58 #6
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
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