maryam za
سه شنبه 01 مهر 1393, 12:03 عصر
با سلام
من کد زیر رو برای یه کتابخونه ی ساده نوشتم اما توی قسمت 3 یعنی search وقتی کد برای کاربر یا نام برای کتاب را وارد می کنم خطا میده و از برنامه خارج میشه ...
مشکل کجاست؟
package Lib;
import java.io.IOException;
public class Library {
static int Status=0;
static int Stat=0;
static Book Records=new Book(null,null,null,null,null,null);
static User ArrUser[]=new User[1000];
static Book[] ArrBook=new Book[1000];
public static int tilluser=0;
public static int tillbook=0;
public static void main(String[] args) {
System.out.println("Please Enter :\n 1:For add book\n 2:For add user\n 3:Search\n 4:Exit");
try {
Status = (System.in.read());
Stat=Status-48;
}
catch (IOException ex) {
ex.getStackTrace();
}
if (Stat==4){
Exit();
}
Switch(Stat);
}
public static int Switch(int mode){
if (mode==1){
try {
RecordBook();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mode= Again();
Switch (mode);
}
else if (mode==2){
try {
RecordUser();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mode=Again();
Switch (mode);
}
else if (mode==3){
Search();
Switch (mode);
}
return mode;
}
public static void RecordUser() throws IOException{
System.out.println("Please enter the number of users you want to add:");
int i=0;
i=Records.intScan();
tilluser=tilluser+i;
for(int j=0;j<=i-1;j++){
ArrUser[j]=new User();
System.out.println("Enter Name:");
String name= Records.scan();
ArrUser[j].name=name;
System.out.println("Enter Family:");
String family= Records.scan();
ArrUser[j].family=family;
System.out.println("Enter Code:");
String Code= Records.scan();
ArrUser[j].Code=Code;
System.out.println("------------------------------------");
// System.out.println("Name:"+ ArrUser[j].name+"\n"+"Family:"+ ArrUser[j].family+"\n"+"Code:"+ArrUser[j].Code);
}
}
public static int RecordBook() throws IOException{
System.out.println("Please enter the number of books you want to add:");
int i=0;
i=Records.intScan();
tillbook=tillbook+i;
for(int j=0;j<=i-1;j++){
ArrBook[j]=new Book(null, null, null, null, null, null);
System.out.println("Enter BookName:");
String BookName= Records.scan();
ArrBook[j].BookName=BookName;
System.out.println("Enter WriterName:");
String WriterName= Records.scan();
ArrBook[j].WriterName= WriterName;
System.out.println("Enter PublisherName:");
String PublisherName= Records.scan();
ArrBook[j].PublisherName= PublisherName;
System.out.println("Enter ISBN:");
String ISBN= Records.scan();
ArrBook[j].ISBN= ISBN;
System.out.println("Enter ID:");
String ID= Records.scan();
ArrBook[j].ID= ID;
System.out.println("Enter Count:");
String Count= Records.scan();
ArrBook[j].Count= Count;
System.out.println("------------------------------------");
}
return tillbook;
}
public static int Again(){
System.out.println("Please Enter :\n 1:For add book\n 2:For add user\n 3:Search\n 4:Exit");
try {
Stat= System.in.read();
Stat=Stat-48;
}
catch (IOException e) {
e.printStackTrace();
}
return Stat;
}
public static void Exit(){
if (Stat==4){
System.out.println("Exit");
System.exit(0);
}
}
public static void Search(){
System.out.println("Please Enter 1 to find a book, or Enter 2 to find a user:");
int x=Records.intScan();
switch(x){
case 1: {
System.out.println("To find a book , Enter book name:");
String Name= Records.scan();
int t;
t=tillbook;
do{
if (ArrBook[t].BookName == null ? Name == null : ArrBook[t].BookName.equals(Name))
{
ShowBooks(ArrBook[t].BookName,ArrBook[t].WriterName,ArrBook[t].PublisherName,ArrBook[t].ID,ArrBook[t].Count,ArrBook[t].ISBN);
break;
}
t--;
}
while (t!=0 );
}
case 2: {
System.out.println("To find a user , Enter code:");
String Code= Records.scan();
int t;
t=tilluser;
do{
if (ArrUser[t].Code == null ? Code == null : ArrUser[t].Code.equals(Code))
{
ShowUsers(ArrUser[t].name,ArrUser[t].family,ArrUser[t].Code);
break;
}
t--;
}
while (t!=0 );
}
}
}
public static void ShowUsers(String name,String family,String Code){
System.out.print("Name:"+name+"\n"+"Family:"+"\n"+"Code:"+Code);
}
public static void ShowBooks(String name,String WriterName , String PublisherName ,String ID ,String Count ,String ISBN ){
System.out.print("BookName:"+name+"\n"+"WriterName:"+WriterName+"\n"+"PublisherName:"+PublisherName+"\n"+"ISBN"+ISBN+"\n"+"ID:"+ID+"\n"+"Count:"+Count+"\n");
}
}
من کد زیر رو برای یه کتابخونه ی ساده نوشتم اما توی قسمت 3 یعنی search وقتی کد برای کاربر یا نام برای کتاب را وارد می کنم خطا میده و از برنامه خارج میشه ...
مشکل کجاست؟
package Lib;
import java.io.IOException;
public class Library {
static int Status=0;
static int Stat=0;
static Book Records=new Book(null,null,null,null,null,null);
static User ArrUser[]=new User[1000];
static Book[] ArrBook=new Book[1000];
public static int tilluser=0;
public static int tillbook=0;
public static void main(String[] args) {
System.out.println("Please Enter :\n 1:For add book\n 2:For add user\n 3:Search\n 4:Exit");
try {
Status = (System.in.read());
Stat=Status-48;
}
catch (IOException ex) {
ex.getStackTrace();
}
if (Stat==4){
Exit();
}
Switch(Stat);
}
public static int Switch(int mode){
if (mode==1){
try {
RecordBook();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mode= Again();
Switch (mode);
}
else if (mode==2){
try {
RecordUser();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mode=Again();
Switch (mode);
}
else if (mode==3){
Search();
Switch (mode);
}
return mode;
}
public static void RecordUser() throws IOException{
System.out.println("Please enter the number of users you want to add:");
int i=0;
i=Records.intScan();
tilluser=tilluser+i;
for(int j=0;j<=i-1;j++){
ArrUser[j]=new User();
System.out.println("Enter Name:");
String name= Records.scan();
ArrUser[j].name=name;
System.out.println("Enter Family:");
String family= Records.scan();
ArrUser[j].family=family;
System.out.println("Enter Code:");
String Code= Records.scan();
ArrUser[j].Code=Code;
System.out.println("------------------------------------");
// System.out.println("Name:"+ ArrUser[j].name+"\n"+"Family:"+ ArrUser[j].family+"\n"+"Code:"+ArrUser[j].Code);
}
}
public static int RecordBook() throws IOException{
System.out.println("Please enter the number of books you want to add:");
int i=0;
i=Records.intScan();
tillbook=tillbook+i;
for(int j=0;j<=i-1;j++){
ArrBook[j]=new Book(null, null, null, null, null, null);
System.out.println("Enter BookName:");
String BookName= Records.scan();
ArrBook[j].BookName=BookName;
System.out.println("Enter WriterName:");
String WriterName= Records.scan();
ArrBook[j].WriterName= WriterName;
System.out.println("Enter PublisherName:");
String PublisherName= Records.scan();
ArrBook[j].PublisherName= PublisherName;
System.out.println("Enter ISBN:");
String ISBN= Records.scan();
ArrBook[j].ISBN= ISBN;
System.out.println("Enter ID:");
String ID= Records.scan();
ArrBook[j].ID= ID;
System.out.println("Enter Count:");
String Count= Records.scan();
ArrBook[j].Count= Count;
System.out.println("------------------------------------");
}
return tillbook;
}
public static int Again(){
System.out.println("Please Enter :\n 1:For add book\n 2:For add user\n 3:Search\n 4:Exit");
try {
Stat= System.in.read();
Stat=Stat-48;
}
catch (IOException e) {
e.printStackTrace();
}
return Stat;
}
public static void Exit(){
if (Stat==4){
System.out.println("Exit");
System.exit(0);
}
}
public static void Search(){
System.out.println("Please Enter 1 to find a book, or Enter 2 to find a user:");
int x=Records.intScan();
switch(x){
case 1: {
System.out.println("To find a book , Enter book name:");
String Name= Records.scan();
int t;
t=tillbook;
do{
if (ArrBook[t].BookName == null ? Name == null : ArrBook[t].BookName.equals(Name))
{
ShowBooks(ArrBook[t].BookName,ArrBook[t].WriterName,ArrBook[t].PublisherName,ArrBook[t].ID,ArrBook[t].Count,ArrBook[t].ISBN);
break;
}
t--;
}
while (t!=0 );
}
case 2: {
System.out.println("To find a user , Enter code:");
String Code= Records.scan();
int t;
t=tilluser;
do{
if (ArrUser[t].Code == null ? Code == null : ArrUser[t].Code.equals(Code))
{
ShowUsers(ArrUser[t].name,ArrUser[t].family,ArrUser[t].Code);
break;
}
t--;
}
while (t!=0 );
}
}
}
public static void ShowUsers(String name,String family,String Code){
System.out.print("Name:"+name+"\n"+"Family:"+"\n"+"Code:"+Code);
}
public static void ShowBooks(String name,String WriterName , String PublisherName ,String ID ,String Count ,String ISBN ){
System.out.print("BookName:"+name+"\n"+"WriterName:"+WriterName+"\n"+"PublisherName:"+PublisherName+"\n"+"ISBN"+ISBN+"\n"+"ID:"+ID+"\n"+"Count:"+Count+"\n");
}
}