这样会执行两遍输入数据,但是不知道怎么改
package com.imooc.method;
import java.util.Scanner;
/**
* Created by eileen on 2019/3/2.
*/
public class DataDemo {
public int[] insertData(){
int[] a=new int[10];
for(int i=0;i<a.length-1;i++) {
System.out.println("请输入第"+(i+1)+"个数据:" + a[i]);
Scanner sc = new Scanner(System.in);
a[i] = sc.nextInt();
}
return a;
}
//展示所有数据
public void showData(int[] a,int length){
System.out.println("数组元素为:");
for (int n : a) {
if(n!=0) {
System.out.print(n + " ");
}
}
}
//插入元素在某个位置
public void insertAtArrary(int[] a,int n,int k){
for(int i=a.length-1;i>k;i--) {
a[i]=a[i-1];
}
a[k]=n;
for(int m:a){
System.out.print(m+" ");
}
}
public void divThree(int[] a){
System.out.println("数组中能被3整除的元素为:");
for(int i=0;i<a.length;i++){
if(a[i]%3==0&a[i]!=0){
System.out.print(a[i]+" ");
}
}
}
public void notice(){
System.out.println();
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("***************************************");
}
public static void main(String[] args) {
DataDemo hw = new DataDemo();
boolean flag=true;
while (flag==true) {
int b;
System.out.println("请输入数值进行操作:");
Scanner sc = new Scanner(System.in);
b = sc.nextInt();
int[] c=hw.insertData();
switch (b) {
case 0:
// hw.notice();
System.out.println("退出程序!");
flag=false;
break;
case 1:
hw.insertData();
hw.notice();
return;
case 2:
hw.showData(c, 8);
hw.notice();
break;
case 3:
hw.insertAtArrary(c, 10, 9);
hw.notice();
break;
case 4:
hw.divThree(c);
hw.notice();
break;
default:
System.out.println("输入有误!请重新输入!");
}
}
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星