18. september 2008 - 08:04Der er
3 kommentarer og 1 løsning
Hjælp til modulus og printf
Hej.
Jeg har flg. kode, hvorfra man skal kunne taste to tal, hvoraf det først bliver divideret med det andet. Derefter skal det vises resultatet, som heltal og derefter det sidste. Fx. 23/7, er 3 og resten er 2. Den sætter røde streger under result1. Jeg har bare brug for at denne kode duer, for har siddet virkelig lang tid med det. Nogle der kan forklare mig hvad der er galt?
Håber I kan hjælpe. Hilsen Michael
import java.util.Scanner;
public class AS26 { public static void main (String[] args) {
double value1; double value2; int result1; double result2;
System.out.println("This program will divide two values. The first value will be divided by the second value.");
Scanner sc = new Scanner (System.in);
System.out.print ("Enter the first value: "); value1 = sc.nextDouble ();
System.out.print ("Enter the second value: "); value2 = sc.nextDouble ();
Resultatet af at dividere to flydende kommatal (double) er ikke et heltal(int), det er en double, så du skal ændre "int result1" til "double result1". Jeg er ikke helt sikker på at det opfører sig som du forventer hvis du ikke bruger ints til det hele. Hvis du vil konvertere til en int, så skriver du: result1 = (int)(value1/value2);
Du skal ikke både ændre restult1 til en double og konvertere til en int. Én af delene er nok, det andet giver potentielt flere afrundingsfejl, i det hele taget bør du altid bruge int frem for double hvor det er muligt. Du overfører point ved at acceptere dette svar.
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.