06. september 2009 - 15:25Der er
4 kommentarer og 1 løsning
Java for begyndere
Jeg er i gang med at lave et program der kan omregne 47.63 dollars til 4 ten dollars 1 five dollars 2 one dollars 2 quarters 1 dimes 0 nickles 3 pennies
Jeg kan dog ikke komme videre med at finde dimes,nickles og pennies. Når jeg tester den kode der nu, kommer der en fejl. Nogen der kan hjælpe?
Indtil videre ser det sådan ud:
package dollarsomregner;
import java.util.Scanner;
public class Dollars { private double int;
public Dollars() {
}
public static void main(String[] args) { Dollars dollars = new Dollars();
double beløb;
Scanner scan;
scan = new Scanner(System.in);
beløb = scan.nextInt();
int ten = (int)beløb / 10; int five = (int)(beløb / 5) % 5; int one = (int) beløb % 10; int quarter = (int) ((beløb /0.25) %10) * 10;
System.out.println("ten dollar bills " + ten); System.out.println("five dollar bills " + five); System.out.println("one dollar bills " + one); System.out.println("quarters " + quarter);
Jeg er ikke helt med. Jeg lavede et lignende program, bare med omregning af sekunder til timer, minutter og sekunder. Denne løsning kan jeg godt lide samt min lærer.
Den kode ser sådan her ud:
package houromvendtfunk;
import java.util.Scanner;
public class Umut { public Umut() { super(); }
public static void main(String[] args) { Umut umut = new Umut();
int sekunder;
Scanner scan;
scan = new Scanner(System.in);
sekunder = scan.nextInt();
int h = sekunder / 60 / 60; int m = (sekunder / 60) % 60; int s = sekunder % 60;
System.out.println(sekunder+ " sekunder giver " + h + " timer, " + m + " minutter og " + s + " sekunder");
} }
Det skal lige siges, jeg lige er startet på datamatiker uddannelsen d. 1. september 2009.
linjen private double int; er ulovlig da int er reserveret Du vil gerne kunne regne på kommatal så må du jo indlæse kommatal også i din keyboard scanner.
Din ligning til at regne antal 5'ere ud er heller ikke rigtig. Du sige beløb /5 % 5.
Hvis du indtaster 45 så er 45/5 = 9 , 9 MOD 5 = 4. Men der skal jo ikke bruges 4 5'ere.
Så koden trænger vist til at blive gennemgået lidt grundigere.
Har du så ikke prøvet at arbejde med nogle af de input du får? Det er jo ikke en gavebod..
Her er et eksempel på hvordan jeg ville lave det. Det tager en double som input (med . som seperator) og regner det rigtige antal 10'ere, 5'ere og 1'ere ud. Jeg har ikke implementeret alle ørene dem må du selv igang med.
import java.util.Scanner;
public class Dollars {
public Dollars() { }
public static void main(String[] args) { Dollars dollars = new Dollars();
double beloeb; Scanner scan = new Scanner(System.in);
// Scanneren læser en streng String input = scan.next(); // Strengen omformes til et kommatal beloeb = Double.parseDouble(input);
// Antal 10'ere int ten = (int)beloeb / 10; beloeb = beloeb - (ten*10);
int five = (int)(beloeb) / 5; beloeb = beloeb - (five*5);
int one = (int) beloeb/1; beloeb = beloeb - (one*1);
System.out.println("ten dollar bills " + ten); System.out.println("five dollar bills " + five); System.out.println("one dollar bills " + one); // System.out.println("quarters " + quarter);
} }
Synes godt om
Ny brugerNybegynder
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.