2017-04-13 5 views
0

Mein Rechner die Quadratwurzel nicht funktioniert und ich kann das ProblemJava Calculator Quadratwurzel funktioniert nicht auf NetBeans 8.2

nicht herausfinden

Mein vollständiger Code:

package calculator; // package 
import java.util.*;  
public class Calculator { // start public access 
// main method starts here 
public static void main (String[] args) { 
    // declaring the variables to be used and the data types 
    double n1, n2; 
    String s1, s2; 
    String operation; 
    // prepare a new scanner for user input 
    Scanner scan = new Scanner(System.in); 
    // prompt user to input a valeu 
     System.out.println("Enter a number or press 0 to cancel: "); 
     n1 = scan.nextDouble(); 
     s1 = String.valueOf(n1); 
    // check to see if 0 has been entered, if yes, then program will end 
     if (n1 != 0) { 
    // user has entered a valeu, prompt user for another value within the option to cancel the program   
     System.out.println("Enter a second nmber or press 0 to opt out: "); 
     n2 = scan.nextDouble(); 
     s2 = String.valueOf(n2); 
    // check to see if 0 has been entred, if yes, then program will end  
    if (n2 != 0) { 
    // prompt user for operatoin to be carried out, +,-, *,/ and square root  
    Scanner op = new Scanner(System.in); 
    System.out.println("Enter +,-,/,qr: "); 
    operation = op.next(); 
    // operation carried out depending on user input, result is displayed on the screen 
    switch (operation) { 
      case "+": 
       System.out.println("Your answer is " + (n1 + n2)); 
       break; 
      case "-": 
       System.out.println("Your answer is " + (n1 - n2)); 
       break; 
      case "/": 
       System.out.println("Your answer is " + (n1/n2)); 
       break; 
      case "*": 
       System.out.println("Your answer is " + (n1 * n2)); 
       break; 
      case "qr": 
       n1 = Math.sqrt(n1); 
       System.out.printf("Your answer is %.2f, n1"); 
       break; 
      default: 
       System.out.println("You are finished.");   
     } // end switch 
    } // end second if statement 
    }// end first if statement 
    } // end main 
} // end the class' 

Wenn ich den Code ausführen oben kann ich die Quadratwurzel einer Zahl nicht herausfinden, stimmt etwas mit meinem Code nicht? Ich bin neu in der Programmierung, wenn Sie erklären, was falsch ist, dann würde es sehr geschätzt werden.

+4

Es ist ein Tippfehler, 'System.out.printf ("Ihre Antwort ist% .2f, n1")' sollte 'System.out.printf ("Ihre Antwort ist% .2f", n1) ' – Berger

Antwort

0
System.out.printf("Your answer is %.2f, n1"); 
             ^here is the error 

Dies wird eine MissingFormatArgumentException werfen. Ihr Fehler ist, dass Sie das erforderliche Argument in die Zeichenfolge 'format' eingefügt haben. Um dies zu beheben, müssen Sie das Argument nach der Zeichenfolge 'format' hinzufügen. Wie folgt aus:

System.out.printf("Your answer is %.2f", n1);