В твоём коде было несколько ошибок, которые я могу помочь тебе исправить:
Вызовы функций sayHello(), findMaxExpense(main), findExpensesSum(main), sayEnjoyMeal() в методе main не имеют аргументов, но ваши методы ожидают аргументы. Тебе нужно передавать аргументы, соответствующие сигнатурам методов.
Объявления массивов feedExpensesCat и feedExpensesHamster находятся внутри метода findMaxExpense, и их нельзя использовать в других методах.
В методе findExpensesSum, ты пытаешься обратиться к переменной maxFeedExpenseHamster, но она определена в методе findMaxExpense и не видна в другом методе.
В методе sayEnjoyMeal, также ожидается аргумент String name, который не передается при вызове метода.
В методах findMaxExpense и findExpensesSum, они принимают аргумент double[] expenses, но этот аргумент не используется внутри методов.
Для исправления кода, ты можешь воспользоваться следующим образом:
public class Praktikum {
public static void main(String[] args) {
sayHello();
double[] feedExpensesCat = {100.50, 236.0, 510.6, 150.20, 80.0, 172.0, 135.4};
double[] feedExpensesHamster = {70.50, 146.0, 710.6, 250.20, 83.0, 19.0, 55.4};
double maxFeedExpenseCat = findMaxExpense(feedExpensesCat);
double maxFeedExpenseHamster = findMaxExpense(feedExpensesHamster);
findExpensesSum(feedExpensesCat, feedExpensesHamster);
sayEnjoyMeal();
}
public static void sayHello() {
System.out.println("Привет, Пиксель");
System.out.println("Привет, Байт");
}
public static double findMaxExpense(double[] expenses) {
double maxExpense = 0;
for (int i = 0; i < expenses.length; i++) {
if (expenses[i] > maxExpense) {
maxExpense = expenses[i];
}
}
return maxExpense;
}
public static void findExpensesSum(double[] expensesCat, double[] expensesHamster) {
double sumFeedCat = 0;
for (double expense : expensesCat) {
sumFeedCat += expense;
}
System.out.println("Всего на корм для кошки было потрачено " + sumFeedCat);
double sumFeedHamster = 0;
for (double expense : expensesHamster) {
sumFeedHamster += expense;
}
System.out.println("Всего на корм для хомяка было потрачено " + sumFeedHamster);
}
public static void sayEnjoyMeal() {
System.out.println("Приятного аппетита, Пиксель!");
System.out.println("Приятного аппетита, Байт!");
}
}
Теперь код должен работать правильно, и компилироваться без ошибок.
public static void main(String[] args) {
sayHello();
findMaxExpense(main);
findExpensesSum(main);
sayEnjoyMeal();
public static void sayHello(String name) {
System.out.println("Привет, Пиксель");
System.out.println("Привет, Байт");
}
public static double findMaxExpense(double [] expenses){
double[] feedExpensesCat = {100.50, 236.0, 510.6, 150.20, 80.0, 172.0, 135.4};
double[] feedExpensesHamster = {70.50, 146.0, 710.6, 250.20, 83.0, 19.0, 55.4};
double maxFeedExpenseCat = 0;
for (int i = 0; i < feedExpensesCat.length; i++) {
if (feedExpensesCat[i] > maxFeedExpenseCat) {
maxFeedExpenseCat = feedExpensesCat[i];
}
}
System.out.println("Твой самый дорогой корм стоил " + findMaxExpense(feedExpensesCat));
double maxFeedExpenseHamster = 0;
for (int i = 0; i < feedExpensesHamster.length; i++) {
if (feedExpensesHamster[i] > maxFeedExpenseHamster) {
maxFeedExpenseHamster = feedExpensesHamster[i];
}
}
}
public static double findExpensesSum(double [] expenses) {
System.out.println("Твой самый дорогой корм стоил " + maxFeedExpenseHamster);
double sumFeedCat = 0;
for (int i = 0; i < feedExpensesCat.length; i++) {
sumFeedCat = sumFeedCat + feedExpensesCat[i];
}
System.out.println("Всего на корм было потрачено " + sumFeedCat);
double sumFeedHamster = 0;
for (int i = 0; i < feedExpensesHamster.length; i++) {
sumFeedHamster = sumFeedHamster + feedExpensesHamster[i];
}
System.out.println("Всего на корм было потрачено " + sumFeedHamster);
}
public static void sayEnjoyMeal(String name) {
System.out.println("Приятного аппетита, Пиксель!");
System.out.println("Приятного аппетита, Байт!");
}
}
Вывод:
Ошибка компиляции:
Praktikum.java:25: error: illegal start of expression
public static void sayHello(String name) {
^
1 error
Failed compilation