NikonMakeup Ответов: 3

Как мне это исправить? Коды ошибок Java


классная книга {

инт stockNum;
Автор строк ;
Заголовок строки;
двойная цена;
int страницы;

public int getStockNum() {
возвращение stockNum;
}
public void setStockNum(int stockNum) {
это.stockNum = stockNum;
}
публичная строка getAuthor() {
возвращение автора;
}
общественного недействительными setAuthor(автор строк ) {
this.author = автор;
}
публичная строка getTitle() {
вернуть титул;
}
public void setTitle(заголовок строки) {
this.title = название;
}
публичный двойной getPrice() {
возвратная цена;
}
общественного недействительными setPrice(двойная цена) {
this.price = Цена;
}
public int getPages() {
вернуть страницы;
}
public void setPages(int pages) {
this.pages = страницы;
}

книги() {
супер();
}
книги(инт stockNum, автор строки, строку заголовка, двойную цену, инт страниц) {
супер();
это.stockNum = stockNum;
this.author = автор;
this.title = название;
this.price = Цена;
this.pages = страницы;
}

@Ручная коррекция
публичная строка toString() {
возвращение "количество:" + stockNum + ", автор книг: "+ автор + ", должность: "+ заголовок + ", цена: "+ цена
+ ", Страницы: "+ страницы;
}





}

класс учебник расширяет книгу{
private int gradelevelbook;

public int getGradelevelbook() {
возврат gradelevelbook;
}

public void setGradelevelbook(int gradelevelbook) {
this.gradelevelbook = gradelevelbook;
}







BookApplication открытый класс {

общественная недействительным главная(строка[] аргументы) {

Книга book1 = новая книга();
книга 1.сетавтор("Чад");
book1.setPages(390);
book1.setPrice(345);
книга 1.setStockNum(2);
book1.setTitle("введение в C++");

Учебник tb1=новый учебник();

tb1.setGradelevelbook(3);
tb1.setAuthor("Деннис Ричи");
tb1.setPages(566);
tb1.setPrice(200);
tb1.setStockNum(5);
tb1.setTitle("Java Beginner");

Системы.из.код println(книга1.getAuthor()+" "+книга1.getPages()+" "+книга1.getPrice()+" "+книга1.getStockNum()+" "+книга1.именно gettitle());
System.out.println(tb1.getAuthor()+" "+tb1.getPages()+" "+tb1.getPrice ()+" " +tb1.getPrice ()+" " +tb1.getStockNum ()+" " +tb1.getTitle ()+" " +tb1.getGradelevelbook());
}

}
}

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

Каждый раз, когда я запускаю этот код, я получаю код ошибки, говорящий, что в нем отсутствует "Public static void main", но когда я добавляю его, он создает больше кодов ошибок. Что же мне делать?

3 Ответов

Рейтинг:
0

Tony Hill

Ваша главная проблема заключается в том, что брекеты вышли из строя.

В вашем классе "учебник" отсутствует закрывающая скобка, что означает, что компилятор считает, что ваш класс "BookApplication" является частью класса "учебник".

Как только вы исправите проблему с фигурной скобкой, вы можете установить сигнатуру основного метода, чтобы включить статическое ключевое слово, которое потребуется для основной точки входа (см. исправленный код ниже

class TextBook extends Book {
	private int gradelevelbook;

	public int getGradelevelbook() {
		return gradelevelbook;
	}

	public void setGradelevelbook(int gradelevelbook) {
		this.gradelevelbook = gradelevelbook;
	}
}                                       // THIS BRACE WAS MISSING

public class BookApplication {

		public static void main(String[] args) {           // CORRECTED METHOD SIGNATURE TO INCLUDE STATIC

			Book book1 = new Book();
			book1.setAuthor("Chad");
			book1.setPages(390);
			book1.setPrice(345);
			book1.setStockNum(2);
			book1.setTitle("Intro to C++");

			TextBook tb1 = new TextBook();

			tb1.setGradelevelbook(3);
			tb1.setAuthor("dennis ritchie");
			tb1.setPages(566);
			tb1.setPrice(200);
			tb1.setStockNum(5);
			tb1.setTitle("Java beginer");

			System.out.println(book1.getAuthor() + " " + book1.getPages() + " " + book1.getPrice() + " "
					+ book1.getStockNum() + " " + book1.getTitle());
			System.out.println(tb1.getAuthor() + " " + tb1.getPages() + " " + tb1.getPrice() + " " + tb1.getPrice()
					+ " " + tb1.getStockNum() + " " + tb1.getTitle() + " " + tb1.getGradelevelbook());
		}
	}
                // REMOVED EXCESS BRACE FROM HERE


Рейтинг:
0

OriginalGriff

Это значит, что вы забыли ключевое слово:

public class BookApplication {

public void main(String[] args) {

Book book1 = new Book();
Попробовать это:
public class BookApplication {

public static void main(String[] args) {

Book book1 = new Book();
Вашему приложению нужен один - и только один - основной метод, и он должен быть объявлен как static таким образом, он не связан с каким - либо конкретным экземпляром класса.
Затем он становится "первым методом", который выполняется в вашем коде при запуске приложения.


NikonMakeup

Это код ошибки, который я постоянно получаю:

Ошибка: основной метод не найден в учебнике класса, пожалуйста, определите основной метод как:
публичный статический пустота главный(строка[] аргументы)
или класс приложения JavaFX JavaFX-приложения должны продлить.приложения.Приложение

Рейтинг:
0

MadMyche

Форматирование кода может быть чисто эстетическим, но оно значительно облегчает чтение и поиск таких вещей, как неуместные и/или отсутствующие закрывающие скобки.
Помимо нескольких простых отступов, пара комментариев, которые я добавил в ваш код, должны показать вам, в чем заключается ваша проблема

class Book {
   int stockNum;
   String author;
   String title;
   double price;
   int pages;

   public int getStockNum() { return stockNum; }
   public void setStockNum(int stockNum) { this.stockNum = stockNum; }

   public String getAuthor() { return author; }
   public void setAuthor(String author) { this.author = author; }

   public String getTitle() { return title; }
   public void setTitle(String title) { this.title = title; }

   public double getPrice() { return price; }
   public void setPrice(double price) { this.price = price; }

   public int getPages() { return pages; }
   public void setPages(int pages) { this.pages = pages; }

   public Book() { super(); }

   public Book(int stockNum, String author, String title, double price, int pages) {
      super();
      this.stockNum = stockNum;
      this.author = author;
      this.title = title;
      this.price = price;
      this.pages = pages;
   }

   @Override public String toString() {
      return "Stock Number: " + stockNum + ", Author: " + author + ", Title: " + title + ", Price: " + price + ", Pages: " + pages;
   }
}


class TextBook extends Book{
   private int gradelevelbook;

   public int getGradelevelbook() { return gradelevelbook; }
   public void setGradelevelbook(int gradelevelbook) { this.gradelevelbook = gradelevelbook; }

// missing closing brace here.... 
  // results in this being part of Textbook class
   public class BookApplication {
      public void main(String[] args) {
         Book book1 = new Book();
         book1.setAuthor("Chad");
         book1.setPages(390);
         book1.setPrice(345);
         book1.setStockNum(2);
         book1.setTitle("Intro to C++");

         TextBook tb1=new TextBook();
         tb1.setGradelevelbook(3);
         tb1.setAuthor("dennis ritchie");
         tb1.setPages(566);
         tb1.setPrice(200);
         tb1.setStockNum(5);
         tb1.setTitle("Java beginer");

         System.out.println(book1.getAuthor()+" "+book1.getPages()+" "+book1.getPrice()+" "+book1.getStockNum()+" "+book1.getTitle());
         System.out.println(tb1.getAuthor()+" "+tb1.getPages()+" "+tb1.getPrice()+" "+tb1.getPrice()+" "+tb1.getStockNum()+" "+tb1.getTitle()+" "+tb1.getGradelevelbook());
      }
   }

} // extra brace here


NikonMakeup

Я пробовал, но это все равно не работает

MadMyche

А что вы пробовали?

NikonMakeup

Ваше предложение