初学者java编程 提示用户输入一个一维数组,为这个数组添加元素
答案:3 悬赏:0 手机版
解决时间 2021-12-04 14:48
- 提问者网友:且恨且铭记
- 2021-12-03 14:38
初学者java编程 提示用户输入一个一维数组,为这个数组添加元素
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-12-03 15:51
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();
}
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();
}
全部回答
- 1楼网友:猎心人
- 2021-12-03 17:29
分不多。。哈哈。。可以用Scanner类、加参数System.in可以填充数组,其他的就不用讲了吧?简单的得自己思考?呵呵
- 2楼网友:神也偏爱
- 2021-12-03 16:27
亲,咱先假设咱定义一个类名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╚════════╝");
}
}
所有的系统都是一个道理,有不明白的可以再问。
/
//定义一个学生信息类
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╚════════╝");
}
}
所有的系统都是一个道理,有不明白的可以再问。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯