程序员Java交流平台

问题遇到的现象和发生背景
怎么增加图书时重名也能加要么不同名也加不上

问题相关代码,请勿粘贴截图
package com.unit4.test;

import java.util.Scanner;

public class test5 {
static String[] nameArray={"Java教程","py入门","c语言","ps"};
static String[] outhorArray= {"张三","李四","王二","麻子"};
static String[] stateArray= {"可借","可借","不可借","不可借"};
static int[] borrowCount= {10,20,35,45};
static Scanner y=new Scanner(System.in);
//增加图书
public static void zengjiabooks() {
System.out.println("请输入书名:");
String name1=y.next();
System.out.println("请输入作者:");
String name2=y.next();
int msg=1;
for(String x:nameArray) {
if (x.equals(name1)) {
msg=2;
}
}
if (msg==1 ) {
String []nameArray2=new String [nameArray.length+1];
String []outhorArray2=new String [nameArray.length+1];
String []stateArray2=new String [nameArray.length+1];
int [] borrowCount2=new int [nameArray.length+1];

    for(int i=0;i<nameArray.length;i++) {
        nameArray2[i]=nameArray[i];
        outhorArray2[i]=outhorArray[i];
        stateArray2[i]=stateArray[i];
        }
    nameArray2[nameArray2.length-1]=name1;
    outhorArray2[nameArray2.length-1]=name2;
    stateArray2[nameArray2.length-1]="可借";
    borrowCount2[nameArray2.length-1]=0;
    chakansuoyoubooks(nameArray2,outhorArray2,stateArray2,borrowCount2);
}else {
    System.out.println("此书名已存在!");
}

}

//查看所有图书
public static void chakansuoyoubooks(String []nameArray,String []outhorArray,String []stateArray,int[] borrowCount) {
for(int i=0;i<nameArray.length;i++) {
System.out.println(nameArray[i]+","+outhorArray[i]+","+stateArray[i]+","+borrowCount[i]);
}
}

//登入
public static String dengru() {
String uname="a";
String umima="123";
String msg="登入失败";
System.out.println("请输入用户名:");
String name=y.next();
System.out.println("请输入密码:");
String mima=y.next();
if (uname.equals(name)&&umima.equals(mima)) {
msg="登入成功";
}
return msg;
}

//主菜单
public static void zhucaidan() {
System.out.println("主菜单");
System.out.println("1,查看所有图书");
System.out.println("2,增加图书");
System.out.println("3,删除图书");
System.out.println("4,借出图书");
System.out.println("5,归还图书");
System.out.println("请选择菜单编号:"); 

}

 

public static void main(String[] args) {
    while(1==1) {
    String msg=    dengru();
    if (msg.equals("登入失败")) {
        System.out.println("登入失败,请重新登入!");
    }else if(msg.equals("登入成功")){
        
        System.out.println("登入成功!");
        while(1==1) {
            zhucaidan();
            int xuanze1=y.nextInt();
            if (xuanze1==1) {
                chakansuoyoubooks(nameArray,outhorArray,stateArray,borrowCount);
            }else if (xuanze1==2) {
                zengjiabooks();
            }else if (xuanze1==3) {
                
                
            }else if (xuanze1==4) {
            
            
            }else if (xuanze1==5) {
        
         
    
    }

        }
    }
    }
    }

}

运行结果及报错内容

我的解答思路和尝试过的方法

我想要达到的结果

break跳出循环
continue跳过该次循环继续下一次循环

目前的判断逻辑重名会给出提示,不会添加。不重名的进行添加,然后输出添加后的nameArray2是正常,但这只是假象,每次通过命令查看的还是nameArray,所以就没添加上。
建议将book封装成实体类,使用List来存储book。

for(String x:nameArray) {
if (x.equals(name1)) {
msg=2;
}
这段代码怎么跳过了?