Priyanshu Patel Ответов: 2

Решите 14 ошибок, с которыми я столкнулся


Меня попросили сделать следующие 6 шагов, но я столкнулся с ошибками. Было бы очень здорово, если бы кто-нибудь помог мне в этом.


Учитывая приведенный ниже интерфейс и абстрактный класс, создайте Неабстрактный класс Chef следующим образом:
1. Шеф-повар должен наследовать от класса Person и реализовать способности интерфейса.
2. Конструктор повар должен принимать два параметра строку и набор переменных экземпляра суперкласса.
3. Переопределить метод toString возвращает строку "Я Повар".
4. метод printInfo должен вывести имя и фамилию, а затем результат вызова метода toString класса Chef. Ваш выходной формат должен точно соответствовать образцу выходного формата.
5. метод createSkills должен Создать Строковый массив размера n, предложить пользователю ввести каждый из навыков и прочитать введенные значения. Метод должен возвращать строковый массив, содержащий все навыки, введенные пользователем. Можно предположить, что объект сканера был создан (см. инструкции на первой странице). Ваш выходной формат должен точно соответствовать образцу выходного формата.
6. метод printSkills должен напечатать "мои навыки:" с каждым элементом параметра массива на своей собственной строке. Ваш выходной формат должен точно соответствовать образцу выходного формата.

Что ж, это и есть ошибки

----jGRASP exec: javac -g Chef.java
 Chef.java:1: error: Chef is not abstract and does not override abstract                        method printSkills(String[]) in Skills
public class Chef extends Person implements Skills
  ^
Chef.java:8: error: cannot reference first before supertype constructor has        been called
 super(first);
       ^
 Chef.java:8: error: constructor Person in class Person cannot be applied   to given types;
 super(first);
 ^
required: String,String
found: String
reason: actual and formal argument lists differ in length
Chef.java:9: error: call to super must be first statement in constructor
 super(last);
      ^
Chef.java:22: error: non-static method toString() cannot be referenced from    a static context
 Chef.toString();
    ^
Chef.java:27: error: cannot find symbol
 Scanner reader = new Scanner(System.in);
 ^
symbol:   class Scanner
location: class Chef
Chef.java:27: error: cannot find symbol
 Scanner reader = new Scanner(System.in);
                      ^
symbol:   class Scanner
location: class Chef
Chef.java:29: error: variable n is already defined in method          createSkills(String[])
 String n = reader.nextLine();
        ^
 Chef.java:30: error: incompatible types: unexpected return value
 return(n);
       ^
Chef.java:30: error: incompatible types: String cannot be converted to void
 return(n);

Chef.java:35: error: cannot find symbol
  String arr[]=new String[n];
                          ^
 symbol:   variable n
 location: class Chef
 Chef.java:36: error: cannot find symbol
  for(int i=0; i<n; i++)="" ^="" symbol:="" variable="" n="" location:="" class="" chef="" chef.java:38:="" error:="" cannot="" find="" symbol="" arr[i]="n.nextLine();" chef.java:40:="" incompatible="" types:="" string="" be="" converted="" to="" int="" for(int="" i:="" arr)="" 14="" errors<="" div="">   <div id="EditDialogPlaceholder"></div>  <div id="ReplyDialogPlaceholder"></div></n;>


Что я уже пробовал:

public class Chef extends Person implements Skills
{
private String first;
private String last;

public Chef(String f, String l)
{
  super(first);
  super(last);
}

@Override
public String toString()
{
  String str="I am a Chef";
  return(str);
}

public void printInfo()
{
 super.toString();
 Chef.toString();
}

public void createSkills(String[] n)
{
  Scanner reader = new Scanner(System.in);
  System.out.println("Enter your Skill: ");
  String n = reader.nextLine();
  return(n);
 }

 public void printSkills()
 {
   String arr[]=new String[n];
   for(int i=0; i<n;>   {
     arr[i]=n.nextLine();
   }
   for(int i: arr)
   { 
    System.out.println(i);
   }
  }


}

Patrice T

Планируете рассказать нам, какие сообщения об ошибках и где ?
или мы должны догадываться ?

Priyanshu Patel

Что ж, это и есть ошибки

----jgrasp exec: javac-g Chef.java
Chef. java:1: ошибка: Chef не является абстрактным и не переопределяет абстрактный метод printSkills (String []) в навыках
шеф-повар публичного класса расширяет навыки реализации личности
^
Chef. java:8: ошибка: не удается выполнить ссылку сначала до вызова конструктора супертипа
супер (первый);
^
Chef. java:8: Ошибка: конструктор Person в классе Person не может быть применен к заданным типам;
супер (первый);
^
требуется: строка, строка
найдено: строка
причина: фактические и формальные списки аргументов различаются по длине
Chef. java: 9: error: вызов super должен быть первым оператором в конструкторе
супер (последний);
^
Chef. java: 22: error: нестатический метод toString() нельзя ссылаться из статического контекста
Шеф-повар.();
^
Chef. java: 27: ошибка: не удается найти символ
Сканер reader = новый сканер(System.in);
^
символ: сканер класса
место проведения: класс шеф-повара
Chef. java: 27: ошибка: не удается найти символ
Сканер reader = новый сканер(System.in);
^
символ: сканер класса
место проведения: класс шеф-повара
Chef. java: 29: error: переменная n уже определена в методе createSkills(String[])
Строка n = reader. nextLine();
^
Chef. java: 30: ошибка: несовместимые типы: неожиданное возвращаемое значение
возвращение(Н);
^
Chef. java: 30: ошибка: несовместимые типы: строка не может быть преобразована в void
возвращение(Н);

Chef. java: 35: ошибка: не удается найти символ
String arr[]=новая строка[n];
^
символ: переменная n
место проведения: класс шеф-повара
Chef. java: 36: ошибка: не удается найти символ
for (int i=0; i

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

2 Ответов

Рейтинг:
2

Patrice T

Вот несколько исправлений ошибок:

for(int i=0; i<n;>i++)   {
  arr[i]=n.nextLine();
}

Вы пустая функция возвращает что-то!
public void createSkills(String[] n)
{
  Scanner reader = new Scanner(System.in);
  System.out.println("Enter your Skill: ");
  String n = reader.nextLine();
  return(n);
 }

вы не смогли исправить это сами.

Здесь я даже не понимаю, что вы собираетесь делать:
for(int i: arr)
{
 System.out.println(i);
}


Просто интересно, Знаете ли вы основы синтаксиса Java ?.

[Обновление]
Совет: забудьте пока о своем проекте.
Изучайте Java серьезно, читайте языковую документацию, следуйте инструкциям tutos, не пропускайте шаги.


Priyanshu Patel

Привет, я очень ценю Ваш быстрый ответ, я действительно Новичок в java, поэтому у меня больше проблем с этим.

Priyanshu Patel

Я хотел напечатать пользовательский ввод, который хранится в массиве.

Рейтинг:
2

Richard MacCutchan

Я настоятельно рекомендую вам пойти в Учебники По Java[^] и потратьте некоторое время на изучение языка и наиболее часто используемых классов.