Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Здравствуйте, не могли бы вы сказать что не так с моим кодом.

Хамзат Янарсанов Ученик (103), на голосовании 1 год назад
public class Praktikum {


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
Голосование за лучший ответ
Кто то Мастер (1209) 1 год назад
Ошибка компиляции возникает из-за того, что методы sayHello() и sayEnjoyMeal() ожидают аргумент типа String, но в вызовах этих методов соответствующие аргументы не указаны. Для исправления кода нужно добавить аргументы в вызовы этих методов или убрать аргументы из их определений, если они не нужны.
Ламер Ламерович Просветленный (26317) 1 год назад
в intellij idea есть авто-исправлния которые иногда помогают
Николай Вернер Знаток (306) 1 год назад
public class Praktikum {

public static void main(String[] args) {
sayHello();
double maxExpenseCat = findMaxExpense(feedExpensesCat);
double
Николай ВернерЗнаток (306) 1 год назад
исправил, попробуй
Руслан Идрисов Мастер (2084) 1 год назад
Ошибки компиляции в вашем коде связаны с некоторыми проблемами синтаксиса и использованием переменных в разных областях видимости.

1. В методе main вы вызываете несуществующий метод sayHello(). Это приводит к ошибке компиляции. Удалите эту строку или добавьте реализацию метода sayHello().

2. У вас нет объявления и инициализации переменных feedExpensesCat и feedExpensesHamster в методе findMaxExpense(). Чтобы решить эту проблему, вы можете объявить и инициализировать эти переменные внутри метода или передать их в качестве аргументов.

3. В методе findExpensesSum() вы пытаетесь использовать переменную maxFeedExpenseHamster как аргумент метода. Однако эта переменная определена в другом методе и не видна в данном методе. Чтобы решить эту проблему, вы можете объявить и инициализировать переменную maxFeedExpenseHamster в методе findExpensesSum() или передать ее в качестве аргумента.

4. В методе sayEnjoyMeal() вы передаете аргумент name, но не используете его внутри метода. Если аргумент name не требуется, вы можете удалить его из объявления метода.

После выполнения этих исправлений ваш код должен скомпилироваться без ошибок.
Хамзат Янарсанов Ученик (103) 1 год назад
Спасибо за помощь, вы можете так же пожалуйста дать код который будет корректно работать чтоб я мог сделать анализ ошибок
Руслан ИдрисовМастер (2084) 1 год назад
Создай новый вопрос здесь не
Вмещается
Хамзат Янарсанов Ученик (103) Руслан Идрисов, https://otvet.mail.ru/question/234284787
Yuna Знаток (313) 1 год назад
ВСЕ НЕ ТАК

Не поставил фигурную скобку после метода main
Из-за чего у тебя получились методы внутри другого метода

Поставь фигурную скобку после sayEnjoyMeal();

А еще у тебя ошибки с параметрами методов.

В sayHello ты зачем-то просишь строку, но при этом ее нигде не используешь, и даже при вызове метода не передаешь. То же самое с sayEnjoyMeal.

В findMaxExpense и findExpensesSum в методе main ты передаешь вообще непонятно что, а нужно какой-то массив double.

В findMaxExpense указан возвращаемый тип double, но при этом в самом методе нет ни одного return. То же самое с findExpensesSum.

Это очень беглый просмотр по синтаксису. Такое ощущение, как будто ты лицом по клавиатуре проехался, а автодополнение тебе поисправляло все, невозможно в здравом уме писать такое

P.S На будущее, на этом сайте есть форматирование, там есть специальный блок для кода. Потому что очень больно смотреть на код, когда он вообще без отступов
Sergio 2.1 Оракул (67306) 1 год назад
Во-первых, метод sayHello() вызывается без аргументов, хотя он определен как public static void sayHello(String name). Во-вторых, методы findMaxExpense(main) и findExpensesSum(main) вызываются с аргументом main, который не определен. В-третьих, методы findMaxExpense и findExpensesSum определены как принимающие массив double в качестве аргумента, но вызываются без аргументов. В-четвертых, в коде отсутствует закрывающая фигурная скобка для метода main.
Лайт Ягами Искусственный Интеллект (309781) 1 год назад
Похоже на то, что забыл закрывающую фигурную скобку после тела метода public static void main, в итоге объявление следующего метода у тебя получилось внутри этого метода (что нельзя).
smoook92 Профи (968) 1 год назад
Код который ты написал содержит несколько синтаксических и логических ошибок.

 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};

findMaxExpense(feedExpensesCat);
findMaxExpense(feedExpensesHamster);
findExpensesSum(feedExpensesCat);
findExpensesSum(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];
}
}
System.out.println("Самый дорогой корм стоил " + maxExpense);
return maxExpense;
}

public static double findExpensesSum(double[] expenses) {
double sumExpenses = 0;
for (int i = 0; i < expenses.length; i++) {
sumExpenses += expenses[i];
}
System.out.println("Всего на корм было потрачено " + sumExpenses);
return sumExpenses;
}

public static void sayEnjoyMeal() {
System.out.println("Приятного аппетита, Пиксель!");
System.out.println("Приятного аппетита, Байт!");
}
}
Исправления:
  1. В методе main, были добавлены вызовы методов findMaxExpense, findExpensesSum и sayEnjoyMeal с передачей массивов feedExpensesCat и feedExpensesHamster.
  2. Убраны аргументы name из методов sayHello и sayEnjoyMeal, так как они не используются в коде.
  1. Методы findMaxExpense и findExpensesSum были изменены на void, так как вычисления и вывод значений происходят внутри этих методов.
  1. В методе findMaxExpense, переменная maxFeedExpenseHamster была удалена, так как она не требуется в этом контексте.
  2. Добавлены необходимые закрывающие фигурные скобки для всех методов.
  1. Исправлена ошибка с определением массивов feedExpensesCat и feedExpensesHamster внутри метода main.
  1. Исправлены сообщения вывода для методов findMaxExpense и findExpensesSum.
  1. Изменен возврат значения в методах findMaxExpense и findExpensesSum на double, чтобы соответствовать объявленному возвращаемому типу.
Следуя этим корректировкам, ваш код должен компилироваться и выполняться без ошибок.
Похожие вопросы