查询能被3整除的元素如何嵌套可以正确提示没有能被整除的元素,怎么判断数组为默认值是提示没有能被整除

查询能被3整除的元素如何嵌套可以正确提示没有能被整除的元素,怎么判断数组为默认值是提示没有能被整除

package com.imooc;

import java.util.Scanner;

public class Demo {
	// 显示提示信息的方法
	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 int[] insertData() {
		Scanner sc = new Scanner(System.in);
		int[] a = new int[10];
		for (int i = 1; i < 10; i++) {
			System.out.println("请输入第" + i + "个数据:");
			a[i - 1] = sc.nextInt();
		}
		System.out.println("数组元素为:");
		for (int i = 0; i < 9; i++) {
			System.out.print(a[i] + "  ");
		}
		System.out.println();
		return a;
	}

	// 显示所有数据
	public void showData(int[] a, int length) {
		System.out.println("数组元素为:");
		for (int i = 0; i < length; i++) {
			System.out.print(a[i] + "  ");
		}
		System.out.println();
	}

	// 在指定位置插入数据
	public void insertAtArray(int[] a, int n, int k) {
		System.out.println("请输入要插入的数据:");
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		System.out.println("请输入要插入数据的位置:");
		k = sc.nextInt();
		a[k] = n;
		System.out.println("数组元素为:");
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i] + "  ");
		}
		System.out.println();
	}

	// 查询能被3整除的数据
	public void divThree(int[] a) {
		System.out.print("数组中能被3整除的元素为:");
		for (int i = 0; i < a.length; i++) {
			if (a[i] % 3 ==0) {
				System.out.print(a[i] + " ");
			}
		}
		System.out.println();
	}

	public static void main(String[] args) {
		Demo d = new Demo();
		int[] a = new int[10];
		int length = 9;
		while (true) {
			d.notice();
			Scanner sc = new Scanner(System.in);
			int n = sc.nextInt();
			if (n == 0) {
				System.out.println("退出程序!");
				break;
			}
			switch (n) {
			case 1:
				a = d.insertData();
				break;
			case 2:
				d.showData(a, length);
				break;
			case 3:
				int k = 0;
				d.insertAtArray(a, n, k);
				length = 10;
				break;
			case 4:
				d.divThree(a);
				break;
			default:
				System.out.println("该数字超出了1-4的范围");
			}
		}
	}

}


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

当没有被3整除的数据时应该给出错误提示,可以按如下思路完成:

定义一个字符串str用于存放能被3整除的数据,设置boolean变量的值为false。使用for循环遍历数组元素,在循环中使用if语句判断是否能被3整除,并且数组元素不为0,如果满足if语句的条件,则设置boolean变量的值为true,并将能被3整除的数据用字符串拼接起来,如str=str+a[i]+””;

然后在循环外判断如果boolean为true则输出str的值,否则输出:数组中没有数据能被3整除。

如果解决了你的疑惑,请采纳,祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师