永发信息网

初学者java编程 提示用户输入一个一维数组,为这个数组添加元素

答案:3  悬赏:0  手机版
解决时间 2021-12-04 14:48
初学者java编程 提示用户输入一个一维数组,为这个数组添加元素
最佳答案
public static void main(String[] args) throws IOException {
System.out.println("添加元素方法开始");
String[] arr=add();
System.out.println("添加后数组元素是:");
printArr(arr);
System.out.println("获取指定位置元素方法开始");
System.out.println(getIndex(arr));
System.out.println("删除元素方法开始");
arr=delete(arr);
System.out.println("删除后数组元素是:");
printArr(arr);
}

public static String[] add() {
Scanner sc=new Scanner(System.in);
System.out.println("请输入数组元素个数,回车确认");
int n=Integer.parseInt(sc.nextLine());
System.out.println("请输入数组元素,回车确认");
String[] arr=new String[n];
for(int i=0; i < n; i++) {// 循环,从控制台读数据放到数组里
arr[i]=sc.nextLine();
}
return arr;
}

public static String[] delete(String[] arr) {
Scanner sc=new Scanner(System.in);
System.out.println("要删除第几个元素?(数组脚标从0开始),回车确认");
int n=Integer.parseInt(sc.nextLine());
String[] tmp=new String[arr.length - 1];
if(n >= arr.length) {
System.out.println("脚标超出数组长度,删除失败");
return arr;
}
for(int i=n; i < arr.length - 1; i++) {
arr[i]=arr[i + 1];// 从位置n开始,后面的元素覆盖前面的元素
}
for(int i=0; i < arr.length - 1; i++) {
tmp[i]=arr[i];// 将数组赋值给新数组,不要最后一个元素,因为数组长度-1了
}
return tmp;
}

public static String getIndex(String[] arr) {
Scanner sc=new Scanner(System.in);
System.out.println("要获取第几个元素?(数组脚标从0开始),回车确认");
int index=Integer.parseInt(sc.nextLine());
if(index >= arr.length) {
System.out.println("指定位置超出数组大小");
return null;
} else {
System.out.println("获取到的是:");
return arr[index];
}
}

public static void printArr(String[] arr) {
for(int i=0; i < arr.length; i++) {
System.out.print(arr[i] + ",");
}
System.out.println();
}
全部回答
分不多。。哈哈。。可以用Scanner类、加参数System.in可以填充数组,其他的就不用讲了吧?简单的得自己思考?呵呵
亲,咱先假设咱定义一个类名Abc,比如说是一个学生信息管理系统吧,要实现这些功能,建三个类。
/

//定义一个学生信息类
public class Student{
java.util.Scanner sn = new java.util.Scanner(System.in);//从控制台输入的函数
String name[] = new String[30];//在内存中开辟大小为30的空间
String sex[] = new String[30];
String mobrle[] = new String[30];
String address[] = new String[30];

//定义一个查询的方法,这些方法的次序你可以随便换
void seek(int k) {
System.out.println("\n" + name[k] + "\n性别:" + sex[k] + "\n电话:"
+ mobrle[k] + "\n家庭住址:" + address[k]);
}

//定义一个添加的方法
void add(int j) {
System.out.println("请输入姓名");
name[j] = sn.next();
System.out.println("请输入性别");
sex[j] = sn.next();
System.out.println("请输入手机号");
mobrle[j] = sn.next();
System.out.println("请输入家庭住址");
address[j] = sn.next();
}
//定义一个删除的方法
void delete(int k) {
name[k] = null;
sex[k] = null;
mobrle[k] = null;
address[k] = null;
}

}

//定义一个学生类

public class Student {
StudentBook sbBook = new StudentBook();
java.util.Scanner sn = new java.util.Scanner(System.in);
String name1;
void add() {
for (int j = 0; j < sbBook.name.length; j++) {
if (sbBook.name[j] == null) {
sbBook.add(j);
System.out.println("╭─────╮\n│添加成功!│\n╰─────╯");
break;
}
}
}
void seek() {
for (int t = 12; t != 0;) {
System.out
.println("\n┏━━━━━┓\n┃查询同学录┃\n┗━━━━━┛\n1.按姓名查找\n2.按性别查找\n3.按地区查找\n4.查看全部\n0.返回上一级菜单");
int wu = 0;
t = sn.nextInt();//这个地方你可以只定义一种查询的方法,我在这里只是为了更多元化一些。
if (t == 1) {
System.out.println("请输入查询同学的姓名");
name1 = sn.next();
for (int k = 0; k < sbBook.name.length; k++) {
if (name1.equals(sbBook.name[k])) {
sbBook.seek(k);
wu++;
}
}
}
if (t == 2) {
System.out.println("请输入查询同学的性别");
name1 = sn.next();
for (int k = 0; k < sbBook.sex.length; k++) {
if (name1.equals(sbBook.sex[k])) {
sbBook.seek(k);
wu++;
}
}
}
if (t == 3) {
System.out.println("请输入查询同学的地区");
name1 = sn.next();
for (int k = 0; k < sbBook.sex.length; k++) {
if (name1.equals(sbBook.address[k])) {
sbBook.seek(k);
wu++;
}
}
}
if (t == 4) {
for (int k = 0; sbBook.name[k] != null; k++) {
sbBook.seek(k);
wu++;
}
}
if (t == 0) {
break;
}
if (wu == 0) {
System.out.println("没有该同学的信息\n");
}
}
}
void alter() {
System.out.println("请输入修改同学的姓名");
name1 = sn.next();
for (int k = 0; k < sbBook.name.length; k++) {
if (name1.equals(sbBook.name[k])) {
sbBook.seek(k);
sbBook.add(k);
System.out.println("╭─────╮\n│修改成功!│\n╰─────╯");
break;
} else {
System.out.println("没有这个人的信息");
break;
}
}
}
void delete() {
System.out.println("请输入删除同学的姓名");
name1 = sn.next();
for (int k = 0; k < sbBook.name.length; k++) {
if (name1.equals(sbBook.name[k])) {
sbBook.seek(k);
sbBook.delete(k);
System.out.println("╭─────╮\n│删除成功!│\n╰─────╯");
break;
} else {
System.out.println("没有这个人的信息");
break;
}
}
}
}

//运行的主类,调用上面的两个类
public class Text {

public static void main(String[] args) {
// TODO Auto-generated method stub
java.util.Scanner sn = new java.util.Scanner(System.in);
Student Su = new Student();
System.out.println("┏━━━━━━━━━┓\n┃欢迎来到同学录系统┃\n┗━━━━━━━━━┛");
for (int i = 1; i != 0;) {
System.out
.println("\n1.添加同学录\n2.查询同学录\n3.修改同学录\n4.删除同学录信息\n0.退出\n");
i = sn.nextInt();
if (i == 1) {
Su.add();
}
if (i == 2) {
Su.seek();
}
if (i == 3) {
Su.alter();
}
if (i == 4) {
Su.delete();
}
if (i == 0) {
break;
}
}
System.out.println("╔════════╗\n║谢谢使用,再见!║\n╚════════╝");
}
}

所有的系统都是一个道理,有不明白的可以再问。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
秘制黄皮的做法步骤图,秘制黄皮怎么做好吃
湖南耒阳市大义乡石江村谷婷婷近况怎样
大花龟怎么养?
书面表达(满分30分)中美中学生交流项目安排一
求苍い季节和水の帰る场所 mp3下载
国产橱柜合叶开合是多少次
蛇和蟒蛇哪个最不凶
长安冷藏车多少钱?制冷机组是什么样的?
植发后要用什么洗发水洗头?
郑人买履仿写 刻舟求剑仿写
想去延吉一趟,延吉人(在延吉)的进~
杭州市食盐厂家展会
女主爷爷是皇帝,女主爹被流放了,重生后女主
求助 突变基因如何进行功能分析 in silico an
电脑CPU使用率越高好还是越低好,CPU下面显示
推荐资讯
空调温度调不低?在25度就调不低了?
t字内裤穿干嘛 用什么用途
我家猫猫昨天好好的,今天一早就没精神不知道
织补绣花洗衣地址在哪,我要去那里办事,
上海市烟草专卖局虹口分局位置在什么地方啊,
百度百家怎么评论不起
拍恐怖爱情故事之死亡公路的场地是哪里??
有什么软件可以把我自驾旅行的线路记录下来?
小明在“探究物质的质量与体积的关系”实验中
单选题田纳西河流域工业走廊的形成,主要是因
潜江市财政局地址在什么地方?想过去办事
岚桥锦江望海咖啡厅怎么样
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?