班级网站布局,wordpress系统邮箱设置,wordpress仪表盘打不开,物流公司哪家便宜又好知识点
数组
题目1
请创建一个长度为6的整数数组#xff0c;并为数组中的元素赋值。遍历数组#xff0c;打印所有元素#xff0c;元素之间用空格隔开。比如#xff1a;
数组为#xff1a;{1,2,3,4,5}
打印结果#xff1a;1 2 3 4 5
训练提示
1、数组中的元素有索引…知识点
数组
题目1
请创建一个长度为6的整数数组并为数组中的元素赋值。遍历数组打印所有元素元素之间用空格隔开。比如
数组为{1,2,3,4,5}
打印结果1 2 3 4 5
训练提示
1、数组中的元素有索引开始索引和结束索引分别是什么使用循环语句依次通过索引获取元素即可遍历数组。
2、在打印数组元素时是以空格分隔并且不换行该怎样输出
解题方案
for循环遍历数组
操作步骤
1、定义int数组使用静态初始化方式为元素赋值。
2、使用for循环对数组进行遍历循环索引从0开始到数组的长度-1结束。
3、逐个打印数组元素打印元素不换行在输出元素的后面拼接空格。
答案
package test;
public class test1 {public static void main(String[] args) {int arr[] {1,2,3,4,5,6};for (int i 0; i arr.length; i) {System.out.print(arr[i] );}
System.out.println();
System.out.println(^^);}
}
题目2
现有一个小数数组{12.9, 53.54, 75.0, 99.1, 3.14}。请编写代码找出数组中的最小值并打印。
训练提示
1、数组的元素是小数需要定义小数类型数组。
2、找最值需要先定义一个参考值然后依次拿每个值与参考值比较即可。
解题方案
将数组的第一个值作为参考值遍历数组依次比较记录更小值。
操作步骤
1、定义double类型数组并存入元素。
2、定义double类型变量min代表最小值初始化为数组第一个值。
3、遍历数组用每个元素依次和变量min对比。
4、如果发现有元素小于min则把该元素赋值给min。
5、遍历结束之后min记录的就是最小值打印结果。
答案
package test;
public class test2 {public static void main(String[] args) {double arr[] {12.9, 53.54, 75.0, 99.1, 3.14};double min arr[0];for (int i 1; i arr.length; i) {
if (arr[i] min){min arr[i]; // 随笔: 这是赋值,arr[ran] arr[i]才是交换,说的这些跟这题没关系,只是联想到了打乱数组元素的知识点}
}System.out.println(min);
System.out.println(^^);}
}
题目3
创建一个长度为6的整数数组。请编写代码随机生成六个0包含-100不包含之间的整数存放到数组中然后计算出数组中所有元素的和并打印。
训练提示
1、数组有6个元素那么就要生成6次随机数。
2、要求所有元素的和首先需要定义变量来存储求和结果然后再获取所有元素依次累加就可以了。
解题方案
定义求和变量遍历数组累加元素值。
操作步骤
1、定义长度为6的int数组。
2、创建随机数Random类对象。
3、遍历数组在循环中生成随机数并给数组元素赋值。
4、定义求和变量初始化值为0。
5、遍历数组获取每一个元素累加。
6、遍历结束打印结果。
答案
package test;
import java.util.Random;
public class test3 {public static void main(String[] args) {int arr[] new int[6];Random random new Random();int sum 0;for (int i 0; i arr.length; i) {
int ran random.nextInt(100);arr[i] ran;sum sum arr[i];
}System.out.println(sum);
System.out.println(^^);}
}
题目4
现有一个整数数组数组中的每个元素都是[0-9]之间的数字从数组的最大索引位置开始到最小索引位置依次表示整数的个位、十位、百位。。。依次类推。请编写程序计算这个数组所表示的整数值。例如
数组{2, 1, 3, 5, 4}
表示的整数为21354 // 注是整数类型的两万一千三百五十四不是字符串拼起来的。
训练提示
1、首先肯定要获取数组的每一个元素需要遍历。
2、根据题目分析个位元素本身就可以表示值十位是元素乘以10来表示值百位就是元素乘以100来表示值。。。它们之间有什么规律呢从左至右每一位所表示的值是下一位的十倍。根据此规律怎样编写算法实现呢
解题方案
遍历数组与求和的思路相似但算法不同累加时需要将高位*10再累加。
操作步骤
1、定义int类型数组使用静态初始化将数字存入数组。
2、定义变量num用来存储最终的数值。
3、对数组进行遍历遍历开始索引是0结束索引是arr.length-1。
4、在循环中把num的值乘10再加上元素的值赋值给num变量。
5、循环上面的步骤num的值即为所求打印结果。
答案
package test;
public class test4 {public static void main(String[] args) {int arr[] {1,6,5,2,5};int num 0;for (int i 0; i arr.length; i) {
num num * 10 arr[i];
}
System.out.println(num);System.out.println(^^);}
}
//按着操作步骤一步一步做,有点心虚的感觉,怪怪的,感觉不是自己做的一样...
题目5
定义一个数组来存储10个学生的成绩例如{72, 89, 65, 87, 91, 82, 71, 93, 76, 68}。计算并输出学生的平均成绩。
训练提示
1、要操作数组的每一个元素需要遍历。
2、怎样求平均数其实只要求和之后也就知道了平均数。
解题方案
使用数组的遍历操作完成。
操作步骤 定义保存学生成绩的数组arr。 定义变量sum用来存储和。 对数组进行遍历求和。 和除以元素个数得到平均数。 打印结果。
答案
package test;
public class test5 {public static void main(String[] args) {//这题不按操作步骤做了
//定义一个数组来存储10个学生的成绩//例如{72, 89, 65, 87, 91, 82, 71, 93, 76, 68}。//计算并输出学生的平均成绩。
//求和int sum 0;//计算平均成绩int avg 0;
//定义一个数组来存储10个学生的成绩int arr[]{1,2,3,4,5,1,2,3,4,5};//写数组题第二步一定是遍历,第一步一定是定义,反正我现在是这样理解的for (int i 0; i arr.length; i) {
//求和sum sum arr[i];
}//计算平均成绩avg sum / arr.length;//输出平均成绩System.out.println(avg);
System.out.println(^^);}
}
题目6很难
有一个数组其中有十个元素从小到大依次排列 {12,14,23,45,66,68,70,77,90,91}。再通过键盘录入一个整数数字。要求把数字放入数组序列中生成一个新的数组并且数组的元素依旧是从小到大排列的。执行效果如下
请输入一个整数数字
50
生成的新数组是12 14 23 45 50 66 68 70 77 90 91
训练提示 数组的长度是不能改变的所以增加一个元素需要定义一个新数组。 数组元素是从小到大排列的如何找到新元素存放的位置
解题方案
使用数组的遍历用元素依次和数字作比较找到正确的存放位置。
操作步骤 定义原数组arr和一个比原数组长度大1的新数组brr。-把原数组的值放到新数组中 通过键盘录入的方式输入变量num的值。 定义变量index用于记录num存放的索引位置。 遍历数组小于或等于num的元素直接存放到原来的位置大于num的元素往后移动一个位置。 存放结束之后中间会空出一个位置,在遍历时用index记录这个位置。把num放在这个索引处。 最终遍历新数组打印结果。
答案
package test;
import java.util.Scanner;
public class test6_6_6_6 {public static void main(String[] args) {//有一个数组//其中有十个元素从小到大依次排列//{12,14,23,45,66,68,70,77,90,91}。//再通过键盘录入一个整数数字。//要求把数字放入数组序列中生成一个新的数组//并且数组的元素依旧是从小到大排列的。执行效果如下//请输入一个整数数字//50//生成的新数组是12 14 23 45 50 66 68 70 77 90 91
//键盘录入Scanner scanner new Scanner(System.in);int sc scanner.nextInt();//定义数组int arr[] {1,2,4,5,6,};//1 2 3 4 5 6//定义新数组int brr[] new int[6];//定义index记录sc的索引int index 0;//遍历数组for (int i 0; i arr.length; i) {
if (arr[i] sc) {brr[i] arr[i];index i 1; //-服了,就一直卡在这里,一直以为是放在else里面,太困了,搞得脑子都蒙了} else {brr[i1] arr[i];}
}for (int i 0; i brr.length; i) {brr[index] sc;System.out.println(brr[i]);}
System.out.println(^^);}
}
题目7很难
定义一个数组其中包含多个数字。用自己的方式最终实现奇数放在数组的左边偶数放在数组的右边。可以创建其他数组不必须在原数组中改变
训练提示 要找奇数和偶数只需要判断对2取余即可。 找到一个奇数或偶数之后把它放在哪个索引处
解题方案 定义一个新数组。把原数组的奇数放在新数组的左边把原数组的偶数放在新数组的右边。 不定义新数组。找到左边的偶数和右边的奇数互换位置。 以下以方案1为准
操作步骤 定义出原数组arr其中包含多个数字。 定义新数组brr和arr的长度一样。 定义变量left初始值是0准备从左边放元素定义变量right初始值是arr.length-1准备从右边放元素。 对原数组arr进行遍历。-会不会是单独遍历,然后进行下一步(是的) 如果元素是奇数则放在新数组brr的左边left变量加一。-会不会不是两个遍历嵌套,是我搞错了?(是的) 如果元素是偶数则放在新数组brr的右边right变量减一。 遍历新数组brr打印最终结果。
答案
package test;
public class test7_7_7_7 {public static void main(String[] args) {//定义一个数组其中包含多个数字。//用自己的方式最终实现奇数放在数组的左边偶数放在数组的右边。//可以创建其他数组不必须在原数组中改变-建议创建其他数组
//定义一个数组其中包含多个数字int arr[] {1,2,3,4,5,6};//1 3 5 6 4 2//定义一个新数组int brr[] new int[6];//奇数放在数组的左边int left 0;//偶数放在数组的右边int right arr.length-1;for (int i 0; i arr.length; i) { //这三个东西是已经规定好了的,循环改变的只是里面的东西
if (arr[i] % 2 1) {//奇数放左边brr[left] arr[i];//左边数自增left;} else {//偶数放右边brr[right] arr[i];//右边数自减right--; }
}for (int i 0; i brr.length; i) {System.out.print(brr[i] );}
System.out.println();
System.out.println(^^);}
}
注:题目来源于黑马课程