如何将一个方法中的数组调用到另一个数组当中???
package com.imooc;
import java.util.Scanner;
public class DataManage {
// 插入数据
public int[] insertData() {
int[] arr = new int[9];
Scanner sc = new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i + 1) + "个数据:");
arr[i] = sc.nextInt();
if (arr[i] == 0) {
System.out.println("不能输入零,请重新输入:");
i--;
continue;
}
}
System.out.println("数组元素为:");
for (int x : arr) {
System.out.print(x + " ");
}
System.out.println();
return arr;
}
// 显示所有数据
public void showData(int[] a, int length) {
System.out.println("数据元素为:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
// 在指定位置处插入数据
public void insertAtArray(int[] a, int n, int k) {
int[] b = new int[a.length];
for (int i = 0; i < a.length; i++) {
if (i < (k - 1)) {
b[i] = a[i];
}
if (i == (k - 1)) {
b[i] = n;
}
if (i > (k - 1)) {
b[i] = a[i - 1];
}
System.out.print(b[i] + " ");
}
System.out.println();
int temp[];
temp = a;
a = b;
b = temp;
}
// 查询能被3整除的数据
public void divThree(int[] a) {
int count=0;
System.out.print("能被3整除的数为:");
for (int i=0;i<a.length;i++) {
if (a[i]% 3 == 0) {
count++;
System.out.print(a[i] + " ");
}
}
if(count==0) {
System.out.println("没有能被3整除的数");
}
System.out.println();
}
// 显示提示信息的方法
public void notice() {
System.out.println("******************************************");
System.out.println(" 1--插入数据");
System.out.println(" 2--显示所有数据");
System.out.println(" 3--在指定位置处插入数据");
System.out.println(" 4--查询能被3整除的数据");
System.out.println(" 0--退出");
System.out.println("******************************************");
System.out.println("请输入对应的数字进行操作:");
}
public static void main(String[] args) {
DataManage dmd = new DataManage();
boolean flag = true;
while (flag) {
dmd.notice();
Scanner sc = new Scanner(System.in);
switch (sc.nextInt()) {
case 1:
dmd.insertData();
break;
case 2:
int arr[]=dmd.insertData();
dmd.showData(arr, arr.length);
break;
case 3:
Scanner sc1 = new Scanner(System.in);
System.out.println("请输入要插入的值:");
int n = sc1.nextInt();
Scanner sc2 = new Scanner(System.in);
System.out.println("请输入插入的位置:");
int k = sc2.nextInt();
int arr1[]=dmd.insertData();
dmd.insertAtArray(arr1, n, k);
break;
case 4:
int arr2[]=dmd.insertData();
dmd.divThree(arr2);
break;
case 0:
flag = false;
System.out.print("退出");
break;
default:
System.out.println("请输入正确的数字:");
break;
}
}
}
}
正在回答
如下图所示你可以在主方法中声明一个int类型的数组,用来接收insertData()方法的返回值,然后在将主方法中的arr数组传递给showData方法,完成数据的展示。
运行效果如下,祝学习愉快~
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星