2015-07-11 7 views
0

Я только что начал класс java, который предлагала моя летняя программа, и нам было поручено создать простой калькулятор. У меня есть все разные случаи, и все переменные учитываются, но по какой-то причине я продолжаю получать ошибку .class, и я не знаю, что это все, что я знаю, это исходит из:Попытка построить калькулятор в java, но я продолжаю получать ошибку .class

cases (int fnum, int snum, String op);

import java.util.Scanner; 

public class day1{ 
    public static void main(String [] args){ 
     cases(int fnum, int snum, String op); 
    } 
    public static void input(){ 
     Scanner userInput = new Scanner(System.in); 

     int fnum, snum; 
     String op; 

     System.out.println("Enter first num: "); 
     fnum = userInput.nextInt(); 

     System.out.println("Enter second num: "); 
     snum = userInput.nextInt(); 

     System.out.println("Enter operation: "); 
     op = userInput.next(); 
    } 

    public static void cases(int fnum, int snum, String op){ 
     input(); 
     switch(op){ 
     case "+": 
     System.out.println(fnum + snum); 
     break; 
     case "-": 
     System.out.println(fnum - snum); 
     break; 
     case "*": 
     System.out.println(fnum * snum); 
     break; 
     case "/": 
     System.out.println(fnum/snum); 
     break; 
     default: 
     System.out.println(fnum % snum); 
     break; 
     } 

    } 

} 
+1

Опубликовать ошибку .class, которую вы получаете? Вы также можете сделать ввод в main, а затем вызвать 'cases()' с вашими параметрами или хотя бы объявить их в 'main()' – DrZoo

+0

@DrZoo day1.java:8: ошибка: .class 'ожидается случаях (int fnum, int snum, String op); –

+0

Также я стараюсь сохранить как можно больше вещей из основного. Вот почему я создал отдельный класс для ввода пользовательского ввода. Что-то мой учитель попросил у –

ответ

0

Измените код, чтобы он выглядел так.

import java.util.Scanner; 

public class day1{ 
    public static void main(String [] args){ 
     int fnum = 5; 
     int snum = 5; 
     String op = ""; 
     input(fnum, snum, op); 
    } 
    public static void input(int fnum, int snum, String op){ 
     Scanner userInput = new Scanner(System.in); 

     System.out.println("Enter first num: "); 
     fnum = userInput.nextInt(); 

     //rest of your code 

     cases(fnum, snum, op); 
    } 
    public static void cases(int fnum, int snum, String op){ 
      //your code 
    } 
} 

Вам необходимо было объявить свои переменные, а затем передать их в свою функцию, чтобы ваша функция case также могла ссылаться на них. Я думаю, что ваш учитель означает, что у вас есть все в порядке, не делайте код ввода и код внутри main(). Вместо этого ваш учитель, вероятно, хочет, чтобы вы использовали функции, например, вы делаете.

+0

Спасибо, теперь моя ошибка .class не работает, но по какой-то причине я не получаю ответа на мои действия. Я ввожу числа и знак операции, но после этого программа завершается так, как будто она ничего не делает с операциями печати под каждым случаем –

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