8-1综合案例求指导
//代码是我看到题目后自己写的,没有按照老师说到的几个方法,现在的问题是:按顺序执行第2步想显示数组中所有数时会默认将第10个数显示为0,有没有办法在这个代码的基础上修改一下,当我只插入9个数时只显示9个数?
package com.Javajichu;
import java.util.Scanner;
public class HomeWork8_1 {
//创建数组插入数据
public void insert(int[] arr){
Scanner in =new Scanner(System.in);
for (int i = 0; i < arr.length; i++) {
if(i==9){
System.out.println("数组元素为:");
for(int j=0;j<i;j++){
System.out.print(arr[j]+" ");
}
System.out.println();
break;
}
System.out.println("请输入第"+(i+1)+"个数");
arr[i]=in.nextInt();
}
}
//显示提示
public void print() {
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 void all(int[] arr) {
System.out.println("数组元素为:");
for(int n:arr){
System.out.print(n+" ");
}
System.out.println();
}
//在指定位置插入数据
public void insertOne(int n,int m,int[] arr) {
for (int i = arr.length-1; i >= m; i--) {
arr[i]=arr[i-1];
}
arr[m-1]=n;
all(arr);
}
//查询能被3整除的数据
public void zhengchu3(int[] arr) {
System.out.println("能被3整除的数有:");
for(int n:arr){
if(n%3==0){
System.out.print(n+" ");
}
}
System.out.println();
}
//主方法
public static void main(String[] args) {
int[] arr=new int[10];
HomeWork8_1 homework=new HomeWork8_1();
Scanner shuru=new Scanner(System.in);
homework.print();
for(;;){
int temp=shuru.nextInt();
if(temp==1){
homework.insert(arr);
homework.print();
continue;
}else if (temp==2) {
homework.all(arr);
homework.print();
continue;
}else if (temp==3) {
System.out.println("请输入插入的数:");
int a=shuru.nextInt();
System.out.println("请输入插入数组中的第几个位置:");
int b=shuru.nextInt();
homework.insertOne(a, b, arr);
homework.print();
}else if (temp==4) {
homework.zhengchu3(arr);
homework.print();
}else if (temp==0) {
System.out.println("程序已退出!");
break;
}
}
}
}
源自:Java方法
8-1 综合案例需求
104
收起
正在回答
1回答
public void all(int[] arr) 这个方法多加一个参数,表示要显示几个数字,如public void all(int[] arr,int length),循环遍历数组时for(int i=0;i<length;i++)这里i小于参数length的值。调用方法时,如果想显示9个数据就写成:homework.all(a,9);
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星