关于作业的问题~
package com.javawork;
import java.util.Scanner;
public class Management {
Scanner sc = new Scanner(System.in);
// 显示提示信息的方法
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("*********************************");
}
// 显示数据方法
public void showData(int[] a, int legth) {
System.out.println("数组元素为:");
for (int i : a) {
System.out.print(i + " ");
}
System.out.println();
}
// 插入数据的方法
public int[] insertData() {
int[] a = new int[10];
for (int i = 0; i < a.length - 1; i++) {
System.out.println("请插入第" + (i + 1) + "个数据:");
a[i] = sc.nextInt();
}
showData(a, a.length);
return a;
}
// 在指定位置插入数据的方法
public void insertAtArray(int[] a, int n, int k) {
System.out.println("请输入要插入的元素:");
n = sc.nextInt();
System.out.println("请输入要插入的位置:");
k = sc.nextInt();
// for循环将要插入位置的元素依次往后移
for (int i = a.length - 1; i >= k; i--) {
a[i] = a[i - 1];
}
a[k] = n;
showData(a, a.length);
}
// 查询能被3整除的数的方法
public void divThree(int[] a) {
// 定义一个boolea类型flag,默认为false,当有能被3整除的数时,flag=true
boolean flag = false;
for (int i : a) {
if (i % 3 == 0) {
System.out.print(i + " ");
flag = true;
}
}
if (flag == false) {
System.out.println("没有能被3整除的数!");
}
System.out.println();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s = new Scanner(System.in);
Management m = new Management();
int[] data = null;// 定义一个数组存放插入的数据
int n = 0, k = 0;// 定义n k变量 n表示插入的数,K镖师插入的位置
int i = 5;// 定义变量i while循环结束的信号
while (i != 0) {
m.notice();
System.out.println("请输入对应的数字进行操作:");
i = s.nextInt();
switch (i) {
case 1:
data = m.insertData();
break;
case 2:
m.showData(data, data.length);
break;
case 3:
m.insertAtArray(data, n, k);
break;
case 4:
m.divThree(data);
break;
case 0:
System.out.println("退出系统!");
break;
default:
System.out.println("输入有误!请重新输入!");
break;
}
}
}
}代码中的方法里边的备注都是看了提问之后才解决的,想问下老师以后遇到这种有个别要求但是一点思路都没有咋办,还有帮我看看这代码还有哪里需要改进的吗
47
收起
正在回答
1回答
1、关于思路,多看多想多练,尤其在基础入门阶段,这是唯一的解决办法。
这也是为什么我们会在基础专题中设置大量的习题,就是为了帮助大家梳理每个人思考的方式,无论是编程题,上传作业还是选择题,都可以丰富视角,从不同的角度拓展思路。
2、几点建议补充,题目要求中有说明:
1、插入的数据不允许为零
2、判断是否能被3整除的位置,建议添加 i!=0 的判断,以去掉数组最后一个占位的元素。
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星