对于提交的8-2作业题的订正,请老师批阅~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | package zuoye; import java.util.Scanner; /** * * @author Administrator * @description 包含8个元素的整型数组 * */ public class Demo { public static void main(String[] args) { Demo demo = new Demo(); int input; int [] data = null ; boolean esc = false ; Scanner sc = new Scanner(System.in); while (!esc) { //while(true) demo.notice(); input = sc.nextInt(); switch (input) { case 1 : data = demo.insertData(); demo.showData(data,data.length); break ; case 2 : demo.showData(data, 8 ); break ; case 3 : System.out.println( "请输入要插入的数据:" ); int num = sc.nextInt(); System.out.println( "请输入要插入数据位置:" ); int location = sc.nextInt(); demo.insertAtArray(data,num,location); break ; case 4 : demo.divThree(data); break ; case 0 : esc = true ; System.out.println( "退出程序!" ); break ; default : System.out.println( "请输入正确的数字!" ); //为了使switch语句语法更加完整,建议在default语句后面添加一个break break ; } System.out.println(); } } 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 [] data = new int [ 8 ]; for ( int i = 0 ;i < 7 ;i++) { System.out.println( "请输入第" + (i+ 1 ) + "个数据:" ); int input = sc.nextInt(); // if (input == 0 ) { System.out.println( "添加到数组中的数据不能为0" ); i--; continue ; } data[i] = input; } return data; } public void showData( int [] data, int length) { System.out.println( "数组元素为:" ); for ( int i = 0 ;i < length;i++) { if (data[i] != 0 ) { // System.out.print(data[i] + " " ); } } } /** * * @param data * @param n 插入的数据 * @param k 插入的位置 */ public void insertAtArray( int [] data, int n, int k) { if (!(k == data.length - 1 )) { //应该将i>=k修改为i>k,不然会导致数组的第0个索引无法插入数据。 //对数数组的插入操作,一律要考虑第一个、最后一个、中间的位置情况 for ( int i = data.length - 1 ;i > k;i--) { //逆向思维 data[i] = data[i- 1 ]; } } data[k] = n; //输出数组元素时,建议直接调用显示数据方法 //有重复的地方就是可以优化的地方 showData(data, 8 ); //在与main同级的自定义方法中调用其他方法,直接写方法名 } public void divThree( int [] data) { int count = 0 ; for ( int value:data) { if (value % 3 == 0 && value != 0 ) { count++; } } if (count == 0 ) { System.out.print( "没有能被3整除的数据" ); } else { System.out.print( "数组中能被3整除的元素为:" ); for ( int value:data) { if (value % 3 == 0 && value != 0 ) { System.out.print(value + " " ); } } } } } |
源自:Java方法
9-1 方法课程总结
58
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕珊
2017-08-07 15:16:18
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public void divThree( int [] data) { int count = 0 ; for ( int value:data) { if (value % 3 == 0 && value != 0 ) { count++; } } if (count == 0 ) { System.out.print( "没有能被3整除的数据" ); } else { System.out.print( "数组中能被3整除的元素为:" ); for ( int value:data) { if (value % 3 == 0 && value != 0 ) { System.out.print(value + " " ); } } } } |
这个方法可以改进一下,用一个循环就可以了。
定义一个字符串str用于存放能被3整除的数据,在第一个循环的if语句中将能被3整除的数据用字符串拼接起来,如str=str+a[i]+””;
然后else语句后面的循环去掉,直接输出str的值就可以了。
其他没有问题,如果提交改后的作业,可以再次提交作业即可,不用复制到问答区。祝学习愉快!
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧