作业的问题

来源: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回答

好帮手慕珊

2018-02-13

不是这个方法,这个方法是否判断作业都不算错,说的是insertData()方法,要在循环中加数组元素不为0的判断,你再看看,如果有问题再提问。祝学习愉快!

0
h安晓
h 非常感谢!
h018-02-13
共1条回复

0 学习 · 14452 问题

查看课程