|
A simple program that implements the function of checking and adding books, but the newly added books cannot be found. I know what the problem is, but I do n’t know how to do it. I hope you heroes ctrl + c can help and appreciate it .
import java.io. *;
import java.util. *;
class stock {
String name;
String author;
int price;
public stock () {}
Ranch
stock (String a, String b, int c) {
name = a;
author = b;
price = c;
}
void print () {
System.out.println ("name is" + name);
System.out.println ("author is" + author);
System.out.println ("price is" + price);
}
stock [] get () {
int N = 100;
stock [] a = new stock [N];
a [0] = new stock ("Java", "PlayGrrrr ...", 12);
a [1] = new stock ("C #", "Bill Gates", 13);
a [2] = new stock ("Delphi", "Boxer", 14);
a [3] = new stock ("Oracle", "zy", 15);
Ranch
return a;
}
}
class process {
void step1 () {
System.out.println ("do what?");
System.out.println ("a.search b.add c.exit");
char ch = 0;
try {
ch = (char) System.in.read ();
System.in.skip (2);
} catch (IOException z) {
}
if (ch == 'a') {
System.out.println ("a.by name b.by author");
char ch2 = 0;
try {
ch2 = (char) System.in.read ();
System.in.skip (2);
} catch (IOException z) {
}
if (ch2 == 'a') {
System.out.print ("plz input the book's name:");
InputDate fuck = new InputDate ();
fuck.findbookname ();
}
if (ch2 == 'b') {
System.out.print ("plz input the author's name:");
InputDate fuck2 = new InputDate ();
fuck2.findauthorname ();
}
}
if (ch == 'b') {
InputDate fuck3 = new InputDate ();
fuck3.add ();
}
if (ch == 'c') {
System.out.println ("c u");
}
}
}
class InputDate {
static private String s;
static public void input () {
BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
try {
s = br.readLine ();
} catch (IOException e) {
}
}
static public String getString () {
input ();
return s;
}
static public int getInt () {
input ();
return Integer.parseInt (s);
}
public void findbookname () {
stock mis = new stock ();
stock a [] = mis.get (); // Here we use the modified get method
s = InputDate.getString ();
Vector names = new Vector ();
for (int i = 0; i <a.length&&a [i + 1]! = null; i ++) {
names.add (a [i] .name);
}
if (names.indexOf (s)! = -1) {
System.out.println ("u can fint it here!");
} else
System.out.println ("sorry, there is not such a book!");
}
public void findauthorname () {
s = InputDate.getString ();
stock mis = new stock ();
stock a [] = mis.get ();
Ranch
Vector authornames = new Vector ();
for (int i = 0; i <a.length&&a [i + 1]! = null; i ++) {
authornames.add (a [i] .author);
}
if (authornames.indexOf (s)! = -1) {
System.out.println ("there is such a book!");
} else
System.out.println ("i didn't hear that pl at all!");
}
public void add () {
Ranch
System.out.println ("plz input info:");
String ab, b;
int c;
ab = InputDate.getString ();
b = InputDate.getString ();
c = InputDate.getInt ();
int i = 0;
stock mis = new stock ();
stock a [] = mis.get ();
Ranch
while (a [i]! = null)
i ++;
a [i] = new stock (ab, b, c);
System.out.println ("successfully added");
process a1 = new process ();
a1.step1 ();
}
}
public class main {
public static void main (String args []) {
process a1 = new process ();
a1.step1 ();
}
} |
|