2015-12-06 5 views
-3

Мне нужна помощь, когда эта программа завершается, когда я набираю «quit». Предполагается, что это калькулятор фракции; прямо сейчас я хочу сделать цикл драйвера, чтобы продолжить функцию, чтобы вводить ввод, пока пользователь не наберет «выйти» с любым корпусом.Мне нужна помощь, когда эта функция прекращена?

import java.util.*; 

public class FractionCalculator { 

    // useDelimiter or split method in string class 
    public static void main(String[] args) { 
     Greeting(); 
     produceAnswer(); 
    } 

    static String value1Str = ""; 
    static String value2Str = ""; 
    static char operator = ' '; 

    public static void Greeting() { 
     Scanner kb = new Scanner (System.in); 

     String userName; 
     System.out.print("Hello Person, What is your first name: "); 
     userName = kb.next(); 
     System.out.println("Hi " + userName + ", welcome to the great mystical fraction calculator."); 
    } 

    public static void produceAnswer() { 
     Scanner kb = new Scanner (System.in); 
     System.out.println("What is your input or type quit to leave?"); 
     String input = kb.nextLine();  
     boolean value1Done = false; 
     boolean operatorDone = false; 
     boolean value2Done = false; 
     boolean correctFormat = false; 

     for (int i = 0; i < input.length(); i++) { 
     System.out.println("The input of given string is: " +input.charAt(i));   

     if (input.charAt(i) != ' ' && value1Done == false) { 
      value1Str += input.charAt(i); 
     } 
     else{ 
      value1Done = true; 
     } 

     if (input.charAt(i) == '+' || input.charAt(i) == '-' || input.charAt(i) == '*' || input.charAt(i) == '/' && operatorDone == false && value1Done == true) { 
      operator = input.charAt(i); 
      operatorDone = true; 
      i=i+1; 
     } 

     if (input.charAt(i) != ' ' && value1Done == true && value2Done == false) { 
      value2Str += input.charAt(i); 
     }  
     else { 
      value2Done = false; 
     } 
     else if kb.next().equalsIgnoreCase("quit"){ 
      System.out.println("Why are you leaving? Comeback soon bby"); 
      quit = true; 
      correctFormat = true; 
     } 
    } 

ответ

0

, когда вы определили, что «бросить курить» был введен, положил заявление перерыв в заявлении блока, если:

else if (kb.next().equalsIgnoreCase("quit"){ 
     System.out.println("Why are you leaving? Comeback soon bye"); 
     break; 
    } 
+0

Я сделал это, но он говорит эти ошибки –

+0

FractionCalculator.java:70 : error: '(' expected else if kb.next(). equalsIgnoreCase ("quit") { ^^ FractionCalculator.java:70: error: ')' Ожидается else if kb.next(). equalsIgnoreCase (" quit ") { ^ FractionCalculator.java:70: err или: 'else' без 'if' else if kb.next(). equalsIgnoreCase ("quit") { ^ –

+0

извините, опечатка. Я исправил ответ – DBug

Смежные вопросы