老师作业上传错误了,能撤回么
来源:8-2 作业题
123han
2019-03-31 14:00:15
老师能请您退回作业,我重新上传可以么
11回答
同学你好,批复如下:【dataSwitch】方法
【能被3整除的数据】
1、在判断条件添加元素不能为0的判断。
2、当没有能被3整除的数据时应给出提示,可以按如下思路:
在对数组循环之前先定义一个布尔变量flag,初始值为true,进入循环中的if判断时,当存在能被3整除的数据,flag变为false。循环结束后,如果变量值为true则给出“没有能被3整除的数据”的提示。
【显示所有数据的方法】
该方法要考虑两种情况,即在指定位置处插入数据前和在指定位置处插入数据后。在指定位置处插入数据前,应该显示9个数据,而在指定位置插入数据后,应该显示10个数据。到底显示9个还是10个数据的判断标准就是最后一个数组元素是否为0。因此可以在循环中加入一个数组元素是否为0的判断,如果为0则不输出该元素,即可达到了作业的要求。
【插入数据的方法】
插入数据不能为0,修改代码如下:
【在指定位置处插入数据】
根据作业要求,在指定位置处插入数据应该是指插入一个数组元素,即把指定位置处的数据依次往后移动,然后再给该位置赋值,要保证之前的数据不丢失。
参考方案:定义一个for循环,循环变量i初识值为a.length-1,判断条件是i>l(l为用户要插入数据的位置); i的值是递减的,循环体中的内容就是把前一个元素的值赋值给后一个元素,即a [i]=a [i-1];这样就达到了移位的效果。循环外将d(d为用户要插入的数据)赋值给a[l],修改代码如图所示:
建议同学下次贴出复制后的完整代码,老师能够更好更快的解决问题。如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
123han
提问者
2019-04-02

123han
提问者
2019-04-02

123han
提问者
2019-04-02

123han
提问者
2019-04-02

123han
提问者
2019-04-02

123han
提问者
2019-04-02

123han
提问者
2019-04-02

123han
提问者
2019-04-02
package homework;
import java.util.Scanner;
public class DataSwitch {
public void dataSwitch(int b) {
System.out.println("数组的长度为:");
Scanner a_length = new Scanner(System.in);
int j = a_length.nextInt();
int[] a = new int[j];
while (b != 0 & b <= 4) {
Notice nt = new Notice();
nt.notice();
System.out.println("请输入执行代码:");
Scanner num = new Scanner(System.in);
b = num.nextInt();
switch (b) {
case (1):
System.out.println("添加到数组中的数据不能为0");
InsertData id = new InsertData();
id.insertData(a);
break;
case (2):
ShowData sd = new ShowData();
sd.showData(a);
System.out.println();
break;
case (3):
System.out.println("添加到数组中的数据不能为0");
InsertAtArray iaa = new InsertAtArray();
iaa.insertAtArray(a);
break;
case (4):
DivThree dt = new DivThree();
dt.divThree(a);
break;
}
}
System.out.println("退出程序!");
}
}
123han
提问者
2019-04-02
package homework;
public class DataMain {
public static void main(String[] args) {
int b = 1;
DataSwitch ds=new DataSwitch(); //有数组长度自定功能
ds.dataSwitch(b);
}
}
吃吃吃鱼的猫
2019-04-01
同学你好,老师这边也不能退回作业,同学把作业贴到问答区吧,这次老师会在问答区给同学批改~祝:学习愉快~
相似问题