Здравствуйте, помогите пожалуйста , только учусь. не стоит вникать в логический смысл моих вычислений в программе, т.к. изначально числа были другие , разных типов , просто в поиске ошибки я начал переводить все значения к int. Если можно то для максимально на дурака объясните мне что нужно исправить .
import java.util.Scanner;
public class Solution { static final int DISCOUNT_FIVE = 5; // скидка в % static final int VALUE_ADDED_TAX = 20; // ставка НДС в % public static void main(String[] args) { int fin_otvet; String otvet;//вопрос об ндс int Tov;//кол-во товара int Cen;//цена товара Scanner input = new Scanner( System.in ); System.out.println("Введите кол-во товара"); Tov=input.nextInt(); System.out.println("Введите стоимость товара"); Cen=input.nextInt(); if(Tov>=10){
do{ System.out.println("Введите включать ли стоимость НДС?yes/no");
otvet=input.next(); } while(!"yes".equals(otvet)&& !"no".equals(otvet)); if ("yes".equals(otvet)) fin_otvet=func_v(Tov,Cen,DISCOUNT_FIVE,VALUE_ADDED_TAX); else fin_otvet=func_v(Tov,Cen,DISCOUNT_FIVE); } else if(tov<10){ if ("yes".equals(otvet)) fin_otvet=func_v(Tov,Cen,VALUE_ADDED_TAX); else fin_otvet=func_v(Tov,Cen); } } public static int func_v(int num1, int num2){ int buy; buy=num1*num2; return buy; } public static int func_v(int num1,int num2, int num3){ int buy; buy=num1*num2*num3; return buy; } public static int func_v(int num1,int num2,double num3, int num4){ int buy; buy=num1*num2*num3*num4; return buy; } }
Переменная "tov" написана с ошибкой. Это должно быть "Tov" (заглавная "T"). Переменная "otvet" может не быть инициализирована перед первым использованием, что может вызвать ошибку во время компиляции. Вы должны инициализировать его некоторым значением по умолчанию (например, "no") перед циклом do-while. Второй метод func_v имеет двойной параметр "num3", который несовместим с двумя другими методами func_v, которые принимают целочисленные параметры. Вы должны изменить тип "num3" на int, чтобы соответствовать двум другим методам.
Вот исправленный код:
import java.util.Scanner; public class Solution { static final int DISCOUNT_FIVE = 5; // скидка в % static final int VALUE_ADDED_TAX = 20; // ставка НДС в %
Итог:
public static void main(String[] args) { int fin_otvet = 0; // initialize to some default value String otvet = "no"; // initialize to some default value int Tov; // кол-во товара int Cen; // цена товара
System.out.println("Введите стоимость товара"); Cen = input.nextInt();
if (Tov >= 10) { do { System.out.println("Введите включать ли стоимость НДС?yes/no"); otvet = input.next(); } while (!"yes".equals(otvet) && !"no".equals(otvet));
public static int func_v(int num1, int num2) { int buy; buy = num1 * num2; return buy; }
public static int func_v(int num1, int num2, int num3) { int buy; buy = num1 * num2 * num3; return buy; }
public static int func_v(int num1, int num2, int num3, int num4) { int buy; buy = (int) (num1 * num2 * num3 * num4); // cast the result to int return buy; }
не стоит вникать в логический смысл моих вычислений в программе, т.к. изначально числа были другие , разных типов , просто в поиске ошибки я начал переводить все значения к int.
Если можно то для максимально на дурака объясните мне что нужно исправить .
import java.util.Scanner;
public class Solution {
static final int DISCOUNT_FIVE = 5; // скидка в %
static final int VALUE_ADDED_TAX = 20; // ставка НДС в %
public static void main(String[] args) {
int fin_otvet;
String otvet;//вопрос об ндс
int Tov;//кол-во товара
int Cen;//цена товара
Scanner input = new Scanner( System.in );
System.out.println("Введите кол-во товара");
Tov=input.nextInt();
System.out.println("Введите стоимость товара");
Cen=input.nextInt();
if(Tov>=10){
do{
System.out.println("Введите включать ли стоимость НДС?yes/no");
otvet=input.next();
}
while(!"yes".equals(otvet)&&
!"no".equals(otvet));
if ("yes".equals(otvet))
fin_otvet=func_v(Tov,Cen,DISCOUNT_FIVE,VALUE_ADDED_TAX);
else
fin_otvet=func_v(Tov,Cen,DISCOUNT_FIVE);
}
else if(tov<10){
if ("yes".equals(otvet))
fin_otvet=func_v(Tov,Cen,VALUE_ADDED_TAX);
else
fin_otvet=func_v(Tov,Cen);
}
}
public static int func_v(int num1, int num2){
int buy;
buy=num1*num2;
return buy;
}
public static int func_v(int num1,int num2, int num3){
int buy;
buy=num1*num2*num3;
return buy;
}
public static int func_v(int num1,int num2,double num3, int num4){
int buy;
buy=num1*num2*num3*num4;
return buy;
}
}