作业的问题
来源:8-2 作业题
L安晓
2018-02-12 20:02:55
在插入数据的方法中,根据作业要求,要判断输入的数据不能为0,如果为0要给出错误提示,并要求重新输入数据。因此要定义一个整型变量n,将从键盘接收的数据赋值给n,然后加一个判断,如果n为0则给出错误提示,并将i的值减1,为下次重新输入数据做准备,并调用continue语句结束当前循环继续下一次循环;在if语句外,也就是n不为0则arr[i]=n; 。
老师,我不太明白您这里关于i的操作,如果循环加在了方法里,那怎么重新输入呢?我有点懵,能麻烦您用代码帮我解释吗?
public void insertAtArray(int[] a, int n, int k) {
if (k < 9) {
for (int i = 9, count = 1; count <= 9 - k; i--, count++) {
a[i] = a[i - 1];
}
a[k] = n;
} else if (k == 9) {
a[k] = n;
} else {
System.out.println("数据插入位置超出数组长度!");
}
}public static void main(String[] args) {
Demo d = new Demo();
Scanner sc = new Scanner(System.in);
int[] a = new int[10];
while (true) {
d.notice();
System.out.println("请输入对应的数字进行操作:");
int num = sc.nextInt();
if (num == 0)
break;
switch (num) {
case 1:
a = d.insertData();
break;
case 2:
d.showData(a, a.length);
break;
case 3:
System.out.println("请输入要插入的数据:");
int n = sc.nextInt();
System.out.println("请输入要插入的位置:");
int k = sc.nextInt();
d.insertAtArray(a, n, k);
break;
case 4:
d.divThree(a);
break;
default:
System.out.println("输入的数字不在0-4的范围内!请重新输入!");
break;
}
}
}1回答
不是这个方法,这个方法是否判断作业都不算错,说的是insertData()方法,要在循环中加数组元素不为0的判断,你再看看,如果有问题再提问。祝学习愉快!
相似问题