2017-03-29 6 views
-2

Ich versuche, ein Programm zu schreiben, das ein Double (vom Benutzer eingegeben) mit der Konstante Math.PI vergleicht, nachdem beide Werte in Strings und dann konvertiert wurden vergleicht sie char mit char. Ich bekomme Fehler, aber ich kann nicht sehen, wo ich meinen Code ändern soll. Irgendwelche Tipps/Hilfe wird sehr geschätzt!Vergleichen eines Double zu Math.PI (Konvertieren von Double in String)

import java.util.Scanner; 

public class Main { 

    private static int matches = 0; 

    public static void main(String[] args) { 

     Scanner scan = new Scanner(System.in); 
     System.out.println("Enter value to compare"); 
     double compare = scan.nextDouble(); 
     compare(compare); 
    } 

    public static int compare(double value){ 

     String input = String.valueOf(value); 
     String original = String.valueOf(3.523); 
       //String.valueOf(Math.PI); 

     if(input.charAt(0) == 3){ 
      for(int i = 3; i <= input.length(); i++){ 
       if(input.charAt(i) == (original.charAt(i))){ 
       matches++; 
       } 
      } 
      return matches;   
     } else 
      return matches; 
    } 
} 
+0

** Was ** Fehler? –

+0

@OliverCharlesworth Exception in thread "main" java.util.InputMismatchException \t bei java.util.Scanner.throwFor (Unknown Source) \t bei java.util.Scanner.next (Unknown Source) \t bei java.util.Scanner .nextDouble (Unbekannte Quelle) \t bei Main.main (Main.java:11) Entschuldigung für dieses nicht erwähnen! – Caggen

Antwort

0

Ihre Frage ist nicht klar

Was hier konkret das erwartete Verhalten ist?

Ich kann Ihren Gedankenprozess in der Vergleichsmethode nicht verstehen.

Wenn Sie ein Doppelzimmer mit Math.PI vergleichen wan't, es ist einfach wie Doppel primitive Variablen sind, können Sie den „==“ Operator verwenden, tun gerade:

if (scannedValue == Math.PI) 
      System.out.println ("values are equals"); 

Und für die Die Laufzeitausnahme, die Sie haben, liegt daran, dass Sie keine korrekte Doppelvariable an Ihren Scanner übergeben haben.

https://docs.oracle.com/javase/7/docs/api/java/util/InputMismatchException.html

Verwandte Themen