2014-08-23 3 views
-3

У меня есть проект в виду, однако есть несколько основ, которые мне нужно освоить, прежде чем я смогу продолжить. Вот проблема, которую я пытаюсь вызвать функцию из main в java, но я не могу ее скомпилировать. Я прочитал обратную связь, и я пошел с помощью переключателя для вызова каждой функции. Я всегда получаю «ошибка не может найти символ». Я сделал несколько изменений здесь и там, пытаясь заставить его работать. Я снова чувствую, что мне не хватает чего-то очень фундаментального, и это мешает мне заставить это работать. Любые идеиМетоды вызова

import java.util.*; 
import java.lang.*; 
import java.io.*; 

class Practice { 

    static void wagecalc() { 

     Scanner input = new Scanner(System.in); 

     System.out.println("Input pay per hour:"); 
     int a = input.nextInt(); 
     int b; 
     System.out.println("Input hours worked:"); 
     b = input.nextInt(); 
     int c; 
     System.out.println("Input days worked:"); 
     c = input.nextInt(); 

     int gross = a * b * c; 
     System.out.println("Your gross pay is:" + gross); 

     // Determining tax rate// 
     if (gross < 10000) { 
      int taxrate = gross * 10/100; 
      System.out.println("Your tax rate is 10%:/n"); 

      int total = gross - taxrate; 
      System.out.println("Your net pay is:" + total + "/n"); 
     } 

     else if (gross > 10000 || gross <= 30000) { 
      int taxrate = gross * 15/100; 
      System.out.println("Your tax rate is 15%:/n"); 

      int total = gross - taxrate; 
      System.out.println("Your net pay is:" + total + "/n"); 
     } 

     else if (gross >= 30000 || gross <= 70000) { 
      int taxrate = gross * 20/100; 
      System.out.println("Your tax rate is 20%:/n"); 

      int total = gross - taxrate; 
      System.out.println("Your net pay is:" + total + "/n"); 

     } 

     else if (gross > 70000) { 
      int taxrate = gross * 25/100; 
      System.out.println("Your tax rate is 25%:/n"); 

      int total = gross - taxrate; 
      System.out.println("Your net pay is:" + total + "/n"); 
     } 
    } 

    static void autocalc() { 

     Scanner input = new Scanner(System.in); 

     // Declaring the variables as an integer// 
     int auto; 
     int loan; 
     int interest; 
     int mnydwn; 
     int pymnt; 
     int year; 
     int month = 12; 
     int tap; 
     int term = year * month; 
     int spec; 

     System.out.println("Please enter the following information for your car loan:/n"); 
     System.out.println("Please enter the amount of the vehicle you wish to purchase:/n"); 
     auto = input.nextInt(); 
     System.out.println("Please enter the amount of money you wish to put down:/n"); 
     mnydwn = input.nextInt(); 
     System.out.println("Please enter the interest rate:/n"); 
     interest = input.nextInt(); 
     System.out.println("Please enter the term of the loan (years):/n"); 
     year = input.nextInt(); 
     System.out.println("Processing......../n"); 
     System.out.println("Processing............"); 

     // Calculations// 

     loan = auto - mnydwn; 
     int intamt = loan * interest; 
     tap = loan + intamt; 
     pymnt = tap/term; 

     // Display// 

     System.out.println("Process...Complete./n"); 
     System.out.println("Car amount:" + auto); 
     System.out.println("Loan recieved:" + loan); 
     System.out.println("Interest rate:" + interest); 

     // if statement for proper output of year// 
     if (year == 1) { 
      System.out.println("Your monthly payments will be" + pymnt + "for a" + year + "year" + term + "months."); 
     } else if (year > 1) { 
      System.out.println("Your monthly payments will be" + pymnt + "for" + year + "years" + term + "months."); 
     } 

     System.out.println("Total amount paid at the end of the term" + tap); 
    } 

    public static void main(String[] args) throws java.lang.Exception { 
     // User input// 
     Scanner input = new Scanner(System.in); 
     int count = 0; // Count for the while loop// 

     // Instructions on how to begin interface// 

     System.out.println("Hi!/n"); 
     System.out.println("...Thanks for using D Anomaly's Finance calculator!!/n"); 
     System.out.println("Please choose one of the following:/n"); 
     System.out.println(" 1. Wages:/n"); 
     System.out.println(" 2. Auto Loan:/n"); 
     // System.out.println(" 3. Home Loan:/n");// 
     System.out.println("Choose 1-3"); 

     int calc = input.nextInt(); 

     switch (calc) { 

     case 1: 
      wagecalc(); 
      break; 
     case 2: 
      autolcalc(); 
      break; 
     case 3: // homecalc();// 
      break; 

      if (calc >= 4) { 
       System.out.println(" Invalid entry!!!/n"); 
       System.out.println("Please try again:"); 
       break; 
      } 
     } 
    } 
} 
+0

В чем же ваша проблема? – nbro

+0

Пожалуйста, задайте конкретный вопрос. Люди будут рады помочь. – jahroy

+0

так в чем ваш вопрос? – Devin

ответ

0

Есть несколько проблем здесь, в том числе следующие:

1. public void wageinformation(int gross) потребности быть объявлены static, если вы хотите, чтобы вызвать его из main()

2. Вы вычисляя int gross = a * b * c сразу после того, как вы получили его как параметр.

3. У вас (или было в исходной версии этого сообщения) несколько дополнительных брекетов.

4. В deduction и total переменные никогда не объявляются внутри метода wageinformation().

Я бы настоятельно рекомендовал работать с некоторыми онлайн-учебниками Java, если вы хотите улучшить свои навыки.

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