练习一
定义一个数组,数组元素自己给出,求该数组的所有元素和和平均值,最后判断出数组中大于平均值的数的数量
public class HomeWork1 {
public static void main(String[] args) {
int[] sum = {15, 18, 65, 34, 84, 65, 61, 89, 25, 29};//1.定义一个包含十个元素的数组。数组元素自己给出
double Totle = 0; //定义一个容器存储接下来的元素和
/* ************遍历数组求和************* */
for (int i = 0; i < sum.length; i++) {
Totle += sum[i];
}
System.out.println("该数组的元素和为:" + Totle);
double Average = Totle / 10; //定义一个变量存储平均数
System.out.println("该数组平均值为:" + Average);
/* ***********求数组中大于平均值的个数*********** */
int a = 0; //定义一个变量存储大于平均值的个数
for (int i = 0; i < sum.length; i++) {
if (sum[i] > Average) {
a++;
}
}
System.out.println("该数组大于平均值的有:" + a + "个");
}
}
练习二
定义一个整形数组,判断该数组元素的最大值并打印出来
public class Max {
public static void main(String[] args) {
int[] sum = {45, 76, 4999, -10, 454, 1, 46555, 46, 435, 646};
int max = sum[0]; //定义一个变量存储第一个数组元素,假设第一个数组元素最大
for (int i = 0; i < sum.length; i++) {
if (max <= sum[i]) { // 遍历数组判断max与数组【i】的大小,如果小于则把数组【i】赋值给max
max = sum[i];
}
/*if (max>=sum[i]){ //求最小的值
max = sum[i];
}*/
}
System.out.println(max);
}
}
练习三
选择排序:定义一个整形数组(乱序),实现数组的升序或降序排列
public class XuanZePaiXu {
public static void main(String[] args) {
int[] sum = {12, 28, 4, 3, 19,1};
for (int i = 0; i < sum.length; i++) { //外层循环,用来遍历出起始的数组【】与后续数组【】进行比较
for (int j = i + 1; j < sum.length; j++) { //内层循环 与外层循环的数组【】进行比较
/*定义一个变量 暂时存储第一个循环出来的sum[i],当后续sum[j]与sum[i]进行比较,
当sum[j]<sum[i] ,把sum[j]的值赋值给sum[i],把min中存储的sum[i]赋值给sum[j]完成交换*/
int min = sum[i];
if (sum[i] > sum[j]) {
sum[i] = sum[j];
sum[j] = min;
}
}
}
for (int i = 0; i < sum.length; i++) {
System.out.println(sum[i]);
}
}
}
练习四
冒泡排序: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
public class MaoPao {
public static void main(String[] args) {
int[] sum = {12, 28, 4, 30, 19,1,14,25,50,70};
for (int i = 0; i < sum.length-1; i++) {
for (int j = 0; j < sum.length-1; j++) {
if (sum[j]>sum[j+1]){
//交换位置
int max = sum[j];
sum[j] = sum[j+1];
sum[j+1] = max;
}
}
}
for (int i = 0; i < sum.length; i++) {
System.out.print(sum[i]+"\t");
}
}
}
练习五
找素数:找出1-100之间的素数并打印出来
public static void main(String[] args) {
for (int i = 2; i <= 100; i++) { //for循环求1-100之间的素数:即只能被1和它本身整除的数字 ,例如17在1-17之间只能被1和17整除
int flag = 1; //定义一个变量当作循环条件
for (int j = 2; j < i; j++) { //进行二次循环判断 j到i之间的运算
if (i % j == 0) { //加判断条件,判断i 是否被j也就是2到i-1之间的数整除,如果整除了则满足条件,把flag的值改成0,结束本次循环
flag = 0;
break;
}
}
if (flag == 1) { //判断内循环是否执行if判断,如果执行了则代表该数字被1和它本身之外的数字整除了,如果没有则满足素数的条件,进行输出i
System.out.print(i + "\t");
}
}
}
练习六
水仙花数:找出100-999之间的水仙花数
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int Ge = i % 10;
int Shi = i / 10 % 10;
int Bai = i / 10 / 10 % 10;
if (i == Ge * Ge * Ge + Shi * Shi * Shi + Bai * Bai * Bai) {
System.out.print(i + "\t");
}
}
}