如果所有的元素均不能被3整除,需要输出“没有能被3整除的元素”,这一步程序如何编写?
package com.imooc;
import java.util.Scanner;
public class WorkDemo {
//显示提示信息的方法
public void cue() {
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("请输入对应的数字进行操作:");
}
// 1--插入数据的方法
public int[] insertDate() {
Scanner sc=new Scanner(System.in);
int[] arr=new int[10];
//输入1——9的9个数字
for(int i=0;i<arr.length-1;i++) {
System.out.println("请输入第"+(i+1)+"个数据:");
arr[i]=sc.nextInt();
if(arr[i]==0) {
System.out.print("笨蛋,输入的数据不能为0!"+" ");
System.out.println("请重新输入第"+(i+1)+"个数据:");
arr[i]=sc.nextInt();
}
}
//显示输入的数组元素
System.out.println("数组元素为:");
for(int n=0;n<arr.length-1;n++) {
System.out.print(arr[n]+" ");
}
System.out.println();
return arr;
}
//2--显示所有数据的方法
public void showDate(int[] a,int length) {
System.out.println("数组元素为:");
for(int i=0;i<length;i++) {
if(a[i]!=0) {
System.out.print(a[i]+" ");
}else {
System.out.print(" ");
}
}
System.out.println();
}
//3--在指定位置插入数据的方法
public void insertAtArray(int[] a,int n,int k) {
Scanner sc1=new Scanner(System.in);
//int b=sc1.nextInt();
System.out.println("请输入要插入的数据:");
n=sc1.nextInt();
System.out.println("请输入要插入数据的位置:");
k=sc1.nextInt();
for(int i=a.length-1;i>=k;i--) {
a[i]=a[i-1];
}
a[k-1]=n;
}
//4--查询能被3整除的数据的方法
public void divThree(int[] a) {
System.out.println("能被3整除的数据为:");
for(int i=0;i<a.length;i++) {
if(a[i]%3==0) {
System.out.print(a[i]+" ");
}
}
for(int n=0;n<a.length;n++) {
if(a[n]%3!=0) {
System.out.print(" ");
}
}
System.out.println("没有能被3整除的数据!");
System.out.println();
}
public static void main(String[] args) {
// 定义一个数组
int[] arr1=new int[10];
boolean flag=true;
//创建方法所在类的对象
WorkDemo am=new WorkDemo();
while(flag) {
am.cue();
Scanner sc2=new Scanner(System.in);
int p=sc2.nextInt();
switch(p) {
case 1:
//赋值并调用插入数据的方法insertDate
arr1=am.insertDate();break;
//调用显示所有数据的方法
case 2:
am.showDate(arr1,arr1.length);break;
//调用在指定位置处插入数据的方法
case 3:
am.insertAtArray(arr1,10,9);
am.showDate(arr1,arr1.length);
break;
//调用能被3整除的方法
case 4:
am.divThree(arr1);break;
case 0:
System.out.println("退出");
flag=false;
break;
default:
System.out.println("0--4以外的数字无效");
break;
}
}
}
}在第4步,查询能被3整除的元素时,如果所有的元素均不能被3整除,需要输出“没有能被3整除的元素”,这一步程序如何编写?
源自:Java方法
8-1 综合案例需求
0
收起
正在回答
3回答
public void divThree(int[] a) {
int s=0;
System.out.print("数组中能被3整除的数为:");
for(int i:a) {
if(i%3==0) {
System.out.print(i+" ");
s+=1;
}
}
if(s==0) {
System.out.print("数组元素均不能被3整除");
}
System.out.println();
}
我是用计数写的
好帮手慕阿满
2019-01-15 17:35:32
同学你好,应该是定义了字符串str和boolean值flag后,先循环判断数组中是否存在能被3整除的数,有能被3整除的数,str=str+a[i]+" ";并将flag赋值为true,在循环外判断flag,根据思路完成的代码如下:
public void divTree(int[] a) {
boolean flag = false;
String str = " ";
System.out.println("能被3整除的数据为:");
for(int i=0;i<a.length;i++) {
if(a[i]%3==0&a[i]!=0) {
str = str+a[i]+" ";
flag = true;
}
}
if (flag) {
System.out.println(str);
} else {
System.out.println("没有能被3整除的数据!");
}
}祝:学习愉快~
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星