第一次作业 代码还有哪里可以完善的啊!

第一次作业 代码还有哪里可以完善的啊!

package com.imcoon.lianxi;

import java.util.Scanner;

import javax.xml.crypto.Data;

public class Text1 {
	static boolean a = true;
	static Scanner s = null;
	static int Date[] = new int[10];

	public static void main(String[] args) {

		while (a) {
			ts();
			s = new Scanner(System.in);

			int num = s.nextInt();
			switch (num) {
			// 退出
			case 0:
				Text1.tc();

				break;
			// 插入数据
			case 1:
				insertData();
				break;
			// 显示所有数据
			case 2:

				showDate(Date);

				break;
			// 插入规定位置的数字
			case 3:
				insertAtArray();
				break;
			// 查询被三整除的数据
			case 4:
				System.out.println("被三整除的有");
				divThree();
				break;

			default:
				System.out.println("输入错误清重新输入");
				break;
			}

		}

	}

	// 退出方法
	public static void tc() {
		a = false;
		System.out.println("退出");
	}

	// 提示信息方法
	public static void ts() {
		System.out.println("**************************");
		System.out.println("1---插入数据");
		System.out.println("2---显示所有的数据");
		System.out.println("3---指定位置插入数据");
		System.out.println("4---查询能被三整除的数据");
		System.out.println("0---退出程序");
		System.out.println("**************************");
	}

	// 查看所以数据
	public static void showDate(int[] a) {
		for (int i = 0; i <= a.length-1; i++) {
			if (a[i] != 0) {
				System.out.print(a[i] + " ");
			}

		}
		System.out.println();
	}

	// 插入数据方法
	public static void insertData() {
		for (int i = 0; i < Date.length - 1; i++) {
			System.out.println("请输入第" + (i + 1) + "个数据");
			int num = s.nextInt();
			if (num != 0) {

				Date[i] = num;
			} else {
				i = i - 1;
				System.out.println("不能为零哦");
			}
		}
	}

	// 查看被三整除的数字方法
	public static void divThree() {
		int a = 0;
		for (int i = 0; i < Date.length; i++) {
			if (Date[i] % 3 == 0 && Date[i] != 0) {
				a++;
				System.out.print(Date[i] + " ");
			}

		}
		if (a == 0) {
			System.out.println("没有被三整除的数字哦");
		}
		System.out.println();
	}

	public static void insertAtArray() {
		System.out.println("请输入你插入的数据");
		int num = s.nextInt();
		if (num != 0) {
			System.out.println("请输入你要插入的位置");
			int length = s.nextInt();
			if (length > 0 && length <= 9) {
				for (int i = Date.length - 1; i > length; i--) {
					Date[i] = Date[i - 1];
				}
				Date[length] = num;
			} else {
				System.out.println("数组越界了哦");
			}
		} else {
			System.out.println("数字不饿能为0 请从新数输入");
		}
	}
}


正在回答 回答被采纳积分+1

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

3回答
imoocLovers 2018-07-10 18:33:56

1、86行,建议int num在for循环外面定义,在for循环中直接使用就可以了。18行也是一样的情况。

2、注意在插入数据之后,调用shareData方法显示数组中的数据。

其他都挺好,继续加油!祝学习愉快~


  • 请问第三行的方法是什么方法?
    2018-07-31 00:34:23
  • 看错。。。。?
    2018-07-31 00:35:20
  • import java.util.Scanner;这是第三行。没明白你说的哪个方法,如果有疑问请把问题描述清楚,以便帮助同学解决
    2018-07-31 09:51:37
提问者 孤zero 2018-07-10 17:14:15
package com.imcoon.lianxi;

import java.util.Scanner;

import javax.xml.crypto.Data;

public class Text1 {
	static boolean a = true;
	static Scanner s = null;
	static int Date[] = new int[10];

	public static void main(String[] args) {

		while (a) {
			ts();
			s = new Scanner(System.in);

			int num = s.nextInt();
			switch (num) {
			// 退出
			case 0:
				Text1.tc();

				break;
			// 插入数据
			case 1:
				insertData();
				break;
			// 显示所有数据
			case 2:

				showDate(Date);

				break;
			// 插入规定位置的数字
			case 3:
				insertAtArray();
				break;
			// 查询被三整除的数据
			case 4:
				System.out.println("被三整除的有");
				divThree();
				break;

			default:
				System.out.println("输入错误清重新输入");
				break;
			}

		}

	}

	// 退出方法
	public static void tc() {
		a = false;
		System.out.println("退出");
	}

	// 提示信息方法
	public static void ts() {
		System.out.println("**************************");
		System.out.println("1---插入数据");
		System.out.println("2---显示所有的数据");
		System.out.println("3---指定位置插入数据");
		System.out.println("4---查询能被三整除的数据");
		System.out.println("0---退出程序");
		System.out.println("**************************");
	}

	// 查看所以数据
	public static void showDate(int[] a) {
		for (int i = 0; i <= a.length-1; i++) {
			if (a[i] != 0) {
				System.out.print(a[i] + " ");
			}

		}
		System.out.println();
	}

	// 插入数据方法
	public static void insertData() {
		for (int i = 0; i < Date.length - 1; i++) {
			System.out.println("请输入第" + (i + 1) + "个数据");
			int num = s.nextInt();
			if (num != 0) {

				Date[i] = num;
			} else {
				i = i - 1;
				System.out.println("不能为零哦");
			}
		}
	}

	// 查看被三整除的数字方法
	public static void divThree() {
		int a = 0;
		for (int i = 0; i < Date.length; i++) {
			if (Date[i] % 3 == 0 && Date[i] != 0) {
				a++;
				System.out.print(Date[i] + " ");
			}

		}
		if (a == 0) {
			System.out.println("没有被三整除的数字哦");
		}
		System.out.println();
	}

	public static void insertAtArray() {
		System.out.println("请输入你插入的数据");
		int num = s.nextInt();
		if (num != 0) {
			System.out.println("请输入你要插入的位置");
			int length = s.nextInt();
			if (length > 0 && length <= 9) {
				for (int i = Date.length - 1; i > length; i--) {
					Date[i] = Date[i - 1];
				}
				Date[length] = num;
			} else {
				System.out.println("数组越界了哦");
			}
		} else {
			System.out.println("数字不饿能为0 请从新数输入");
		}
	}
}


提问者 孤zero 2018-07-10 17:13:44
package com.imcoon.lianxi;

import java.util.Scanner;

import javax.xml.crypto.Data;

public class Text1 {
	static boolean a = true;
	static Scanner s = null;
	static int Date[] = new int[10];

	public static void main(String[] args) {

		while (a) {
			ts();
			s = new Scanner(System.in);

			int num = s.nextInt();
			switch (num) {
			// 退出
			case 0:
				Text1.tc();

				break;
			// 插入数据
			case 1:
				insertData();
				break;
			// 显示所有数据
			case 2:

				showDate(Date);

				break;
			// 插入规定位置的数字
			case 3:
				insertAtArray();
				break;
			// 查询被三整除的数据
			case 4:
				System.out.println("被三整除的有");
				divThree();
				break;

			default:
				System.out.println("输入错误清重新输入");
				break;
			}

		}

	}

	// 退出方法
	public static void tc() {
		a = false;
		System.out.println("退出");
	}

	// 提示信息方法
	public static void ts() {
		System.out.println("**************************");
		System.out.println("1---插入数据");
		System.out.println("2---显示所有的数据");
		System.out.println("3---指定位置插入数据");
		System.out.println("4---查询能被三整除的数据");
		System.out.println("0---退出程序");
		System.out.println("**************************");
	}

	// 查看所以数据
	public static void showDate(int[] a) {
		for (int i = 0; i <= a.length-1; i++) {
			if (a[i] != 0) {
				System.out.print(a[i] + " ");
			}

		}
		System.out.println();
	}

	// 插入数据方法
	public static void insertData() {
		for (int i = 0; i < Date.length - 1; i++) {
			System.out.println("请输入第" + (i + 1) + "个数据");
			int num = s.nextInt();
			if (num != 0) {

				Date[i] = num;
			} else {
				i = i - 1;
				System.out.println("不能为零哦");
			}
		}
	}

	// 查看被三整除的数字方法
	public static void divThree() {
		int a = 0;
		for (int i = 0; i < Date.length; i++) {
			if (Date[i] % 3 == 0 && Date[i] != 0) {
				a++;
				System.out.print(Date[i] + " ");
			}

		}
		if (a == 0) {
			System.out.println("没有被三整除的数字哦");
		}
		System.out.println();
	}

	public static void insertAtArray() {
		System.out.println("请输入你插入的数据");
		int num = s.nextInt();
		if (num != 0) {
			System.out.println("请输入你要插入的位置");
			int length = s.nextInt();
			if (length > 0 && length <= 9) {
				for (int i = Date.length - 1; i > length; i--) {
					Date[i] = Date[i - 1];
				}
				Date[length] = num;
			} else {
				System.out.println("数组越界了哦");
			}
		} else {
			System.out.println("数字不饿能为0 请从新数输入");
		}
	}
}

  代码粘贴时 选错语言  抱歉!,不知道怎么删除!

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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