我已经创建了一个小的图书程序,我是java新手。Can';无法找到此代码中的错误或错误?
我已经创建了一个小的图书程序,我是java新手。Can';无法找到此代码中的错误或错误?,java,Java,您忘记了searchBook方法的右括号。在注释前面添加一个}//删除书籍… 在//结束类 您忘记了关闭BookMgtSys 关于问题中的代码class BookInfo没有方法remove或print。很自然,编译器会对此抱怨。也没有字段名称 最重要的是,确保对代码进行格式化和缩进。如果源代码被格式化和缩进,这种语法错误将变得更加明显。认真地说,使用一些。记事本++不是你想要的。下面是您的代码的打印和固定版本,但是您仍然需要完成它 Process started >>> B
searchBook
方法的右括号。在注释前面添加一个}
//删除书籍…//结束类
BookMgtSys
class BookInfo
没有方法remove
或print
。很自然,编译器会对此抱怨。也没有字段名称
Process started >>>
BookMgtSys.java:92: error: illegal start of expression
public void deleteBook (String n) {
^
BookMgtSys.java:92: error: illegal start of expression
public void deleteBook (String n) {
^
BookMgtSys.java:92: error: ';' expected
public void deleteBook (String n) {
^
BookMgtSys.java:92: error: ';' expected
public void deleteBook (String n) {
^
4 errors
import javax.swing.*;
导入java.util.*;
导入java.io.*;
类图书信息{
字符串ISBN;
字符串书名;
字符串AuthorName;
字串书籍;
//参数化构造函数
//公共(){}
公共图书信息(字符串i、字符串b、字符串a){
ISBN=i;
BookName=b;
AuthorName=a;
}
ArrayList书籍;
//建造师
公共图书信息(){
books=新数组列表();
负荷书();
}
公共空负荷书(){
字符串标记[]=null;
字符串编号、名称、作者;
试一试{
FileReader fr=新的FileReader(“books.txt”);
BufferedReader br=新的BufferedReader(fr);
String line=br.readLine();
while(行!=null){
标记=行分割(“,”);
否=令牌[0];
名称=代币[1];
作者=代币[2];
BookInfo b=新的BookInfo(编号、姓名、作者);
增加(b);
line=br.readLine();
}
br.close();
fr.close();
}捕获(IOException ioEx){
系统输出打印项次(ioEx);
}
}
公共作废存折(){
试一试{
图书信息b;
弦线;
FileWriter fw=新的FileWriter(“books.txt”);
PrintWriter pw=新的PrintWriter(fw);
对于(int i=0;i
您遇到了括号问题。此外,如果要运行main,则必须将main移到BookMgrSys类之外。下面的代码将允许您运行该应用程序
import javax.swing.*;
import java.util.*;
import java.io.*;
class BookInfo {
String ISBN;
String BookName;
String AuthorName;
String TotalBooks;
//parameterized constructor
//public (){}
public BookInfo(String i, String b, String a) {
ISBN = i;
BookName = b;
AuthorName = a;
}
ArrayList<BookInfo> books;
//constructor
public BookInfo() {
books = new ArrayList<BookInfo>();
loadbooks();
}
public void loadbooks() {
String tokens[] = null;
String no, name, author;
try {
FileReader fr = new FileReader("books.txt");
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
tokens = line.split(",");
no = tokens[0];
name = tokens[1];
author = tokens[2];
BookInfo b = new BookInfo(no, name, author);
books.add(b);
line = br.readLine();
}
br.close();
fr.close();
} catch (IOException ioEx) {
System.out.println(ioEx);
}
}
public void savebooks() {
try {
BookInfo b;
String line;
FileWriter fw = new FileWriter("books.txt");
PrintWriter pw = new PrintWriter(fw);
for (int i = 0; i < books.size(); i++) {
b = (BookInfo) books.get(i);
line = b.ISBN + "," + b.BookName + "," + b.AuthorName;
// writes line to file (books.txt)
pw.println(line);
}
pw.flush();
pw.close();
fw.close();
} catch (IOException ioEx) {
System.out.println(ioEx);
}
}
//add new book record to arraylist after taking input
public void addbook() {
String ISBN = JOptionPane.showInputDialog("Enter ISBN");
String BookName = JOptionPane.showInputDialog("Enter Book Name");
String AuthorName = JOptionPane.showInputDialog("Enter Author Name");
//construct new book object
BookInfo p = new BookInfo(ISBN, BookName, AuthorName);
//add the above BookInfo object to arraylist
books.add(p);
}
//search book record by name by iterating over arraylist
public void searchBook(String n) {
for (int i = 0; i < books.size(); i++) {
BookInfo p = (BookInfo) books.get(i);
if (n.equals(p.AuthorName)) {
p.print();
}
}
}
//delete book record by name by iterating over arraylist
public void deleteBook(String n) {
for (int i = 0; i < books.size(); i++) {
BookInfo p = (BookInfo) books.get(i);
if (n.equals(p.BookName)) {
// p.remove();
}
}
}
public void print() {
// print your book here
}
} // end class
class BookMgtSys {
public static void main(String args[]) {
BookInfo p = new BookInfo();
String input, s;
int ch;
while (true) {
input = JOptionPane.showInputDialog("Enter 1 to add " + "\n Enter 2 to Search \n Enter 3 to Delete" + "\n Enter 4 to Exit");
ch = Integer.parseInt(input);
switch (ch) {
case 1:
p.addbook();
break;
case 2:
s = JOptionPane.showInputDialog("Enter name to search ");
p.searchBook(s);
break;
case 3:
s = JOptionPane.showInputDialog("Enter name to delete ");
p.deleteBook(s);
break;
}
}//end while
}//end main
}
import javax.swing.*;
导入java.util.*;
导入java.io.*;
类图书信息
{
字符串ISBN;
字符串书名;
字符串AuthorName;
字串书籍;
//参数化构造函数
//公共(){}
公共图书信息(字符串i、字符串b、字符串a)
{
ISBN=i;
BookName=b;
AuthorName=a;
}
ArrayList书籍;
//建造师
公共图书信息()
{
books=新数组列表();
负荷书();
}
公共空负荷书()
{
字符串标记[]=null;
字符串no、name、a
import javax.swing.*;
import java.util.*;
import java.io.*;
class BookInfo {
String ISBN;
String BookName;
String AuthorName;
String TotalBooks;
//parameterized constructor
//public (){}
public BookInfo(String i, String b, String a) {
ISBN = i;
BookName = b;
AuthorName = a;
}
ArrayList<BookInfo> books;
//constructor
public BookInfo() {
books = new ArrayList<BookInfo>();
loadbooks();
}
public void loadbooks() {
String tokens[] = null;
String no, name, author;
try {
FileReader fr = new FileReader("books.txt");
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
tokens = line.split(",");
no = tokens[0];
name = tokens[1];
author = tokens[2];
BookInfo b = new BookInfo(no, name, author);
books.add(b);
line = br.readLine();
}
br.close();
fr.close();
} catch (IOException ioEx) {
System.out.println(ioEx);
}
}
public void savebooks() {
try {
BookInfo b;
String line;
FileWriter fw = new FileWriter("books.txt");
PrintWriter pw = new PrintWriter(fw);
for (int i = 0; i < books.size(); i++) {
b = (BookInfo) books.get(i);
line = b.ISBN + "," + b.BookName + "," + b.AuthorName;
// writes line to file (books.txt)
pw.println(line);
}
pw.flush();
pw.close();
fw.close();
} catch (IOException ioEx) {
System.out.println(ioEx);
}
}
//add new book record to arraylist after taking input
public void addbook() {
String ISBN = JOptionPane.showInputDialog("Enter ISBN");
String BookName = JOptionPane.showInputDialog("Enter Book Name");
String AuthorName = JOptionPane.showInputDialog("Enter Author Name");
//construct new book object
BookInfo p = new BookInfo(ISBN, BookName, AuthorName);
//add the above BookInfo object to arraylist
books.add(p);
}
//search book record by name by iterating over arraylist
public void searchBook(String n) {
for (int i = 0; i < books.size(); i++) {
BookInfo p = (BookInfo) books.get(i);
if (n.equals(p.AuthorName)) {
p.print();
}
}
}
//delete book record by name by iterating over arraylist
public void deleteBook(String n) {
for (int i = 0; i < books.size(); i++) {
BookInfo p = (BookInfo) books.get(i);
if (n.equals(p.BookName)) {
// p.remove();
}
}
}
public void print() {
// print your book here
}
} // end class
class BookMgtSys {
public static void main(String args[]) {
BookInfo p = new BookInfo();
String input, s;
int ch;
while (true) {
input = JOptionPane.showInputDialog("Enter 1 to add " + "\n Enter 2 to Search \n Enter 3 to Delete" + "\n Enter 4 to Exit");
ch = Integer.parseInt(input);
switch (ch) {
case 1:
p.addbook();
break;
case 2:
s = JOptionPane.showInputDialog("Enter name to search ");
p.searchBook(s);
break;
case 3:
s = JOptionPane.showInputDialog("Enter name to delete ");
p.deleteBook(s);
break;
}
}//end while
}//end main
}
import javax.swing.*;
import java.util.*;
import java.io.*;
class BookInfo
{
String ISBN;
String BookName;
String AuthorName;
String TotalBooks;
// parameterized constructor
// public (){}
public BookInfo(String i, String b, String a)
{
ISBN = i;
BookName = b;
AuthorName = a;
}
ArrayList<BookInfo> books;
// constructor
public BookInfo()
{
books = new ArrayList<BookInfo>();
loadbooks();
}
public void loadbooks()
{
String tokens[] = null;
String no, name, author;
try
{
FileReader fr = new FileReader("books.txt");
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while(line != null)
{
tokens = line.split(",");
no = tokens[0];
name = tokens[1];
author = tokens[2];
BookInfo b = new BookInfo(no, name, author);
books.add(b);
line = br.readLine();
}
br.close();
fr.close();
}
catch(IOException ioEx)
{
System.out.println(ioEx);
}
}
public void savebooks()
{
try
{
BookInfo b;
String line;
FileWriter fw = new FileWriter("books.txt");
PrintWriter pw = new PrintWriter(fw);
for(int i = 0; i < books.size(); i++)
{
b = (BookInfo) books.get(i);
line = b.ISBN + "," + b.BookName + "," + b.AuthorName;
// writes line to file (books.txt)
pw.println(line);
}
pw.flush();
pw.close();
fw.close();
}
catch(IOException ioEx)
{
System.out.println(ioEx);
}
}
// add new book record to arraylist after taking input
public void addbook()
{
String ISBN = JOptionPane.showInputDialog("Enter ISBN");
String BookName = JOptionPane.showInputDialog("Enter Book Name");
String AuthorName = JOptionPane.showInputDialog("Enter Author Name");
// construct new book object
BookInfo p = new BookInfo(ISBN, BookName, AuthorName);
// add the above BookInfo object to arraylist
books.add(p);
}
// search book record by name by iterating over arraylist
public void searchBook(String n)
{
for(int i = 0; i < books.size(); i++)
{
BookInfo p = (BookInfo) books.get(i);
if(n.equals(p.AuthorName))
{
p.print();
}
}
}
// delete book record by name by iterating over arraylist
public void deleteBook(String n)
{
for(int i = 0; i < books.size(); i++)
{
BookInfo p = (BookInfo) books.get(i);
if(n.equals(p.BookName))
{
// p.remove();
}
}
}
public void print()
{
// print your book here
}
class BookMgtSys
{
}
public static void main(String args[])
{
BookInfo p = new BookInfo();
String input, s;
int ch;
while(true)
{
input = JOptionPane.showInputDialog(
"Enter 1 to add " + "\n Enter 2 to Search \n Enter 3 to Delete" + "\n Enter 4 to Exit");
ch = Integer.parseInt(input);
switch(ch)
{
case 1:
p.addbook();
break;
case 2:
s = JOptionPane.showInputDialog("Enter name to search ");
p.searchBook(s);
break;
case 3:
s = JOptionPane.showInputDialog("Enter name to delete ");
p.deleteBook(s);
break;
}
} // end while
}// end main
} // end class