1.手写冒泡算法代码
2.合并数组操作:
现有如下一个数组:
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,
生成的新数组为: int newArr [] ={1,3,4,5,6,6,5,4,7,6,7,5}
3.数组逆序操作:定义长度为10的数组,将数组元素对调,并输出对调前后的结果。
思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2的元素交换…..
只要交换到arr.length/2的时候即可。
4.大彭超市去年4个季度(1-12月)的营业额(单位:万元)
分别是: {11,22,33}, {44,55,66}, {77,88,99}, {11,22,33};
请使用二维数组存储这些数据,并帮该超市统计出每个季度的营业额,输出在控制台
package demo.test1;
public class Test2 {
public static void main(String[] args) {
MaoPao();
HeBing();
DuiDiao();
YingYeE();
}
//---------1.手写冒泡算法代码
public static void MaoPao() {
int num[] = {2, 5, 9, 3, 0, 4};//023459
//1.有几个数就进行几轮排序
int count = num.length;//6个数
for (int i = 1; i < count; i++) {
for (int j = 0; j < num.length - 1; i++) {
if (num[j] > num[j + 1]) {
int temp = num[j + 1];
num[j + 1] = num[j];
num[j] = temp;
}
}
}
for (int k = 0; k < num.length; k++) {
System.out.print(num[k] + " ");
}
}
//----------2.合并数组操作:
// 现有如下一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
// 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,
// 生成的新数组为: int newArr [] ={1,3,4,5,6,6,5,4,7,6,7,5}
public static void HeBing(){
int oldArr[] = {1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5};
int length = oldArr.length;
int i = 0;
while (i < length) {
if (oldArr[i] == 0) {
// 当前元素为0,用后一个元素覆盖当前元素
for (int j = i; j < length - 1; j++) {
oldArr[j] = oldArr[j + 1];
}
// 数组有效长度减1
length--;
} else {
// 当前元素不为0,继续检查下一个元素
i++;
}
}
for (int j = 0; j < length; j++) {
System.out.print(oldArr[j] + " ");
}
}
public static void DuiDiao() {
// ----------3.数组逆序操作
// 定义长度为10的数组,将数组元素对调,并输出对调前后的结果。
// 思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2的元素交换…..
// 只要交换到arr.length/2的时候即可。
int arr[]={1,2,3,4,5,6,7,8,9,0};
int k= arr.length;
for(int i=0;i< k/2;i++){
int temp = arr[i];
arr[i] = arr[k - i - 1];
arr[k - i - 1] = temp;
}
for (int i = 0; i < k;i++){
System.out.print(arr[i]);
}
}
public static void YingYeE(){
//-----------4.大彭超市去年4个季度(1-12月)的营业额(单位:万元)
// 分别是: {11,22,33}, {44,55,66}, {77,88,99}, {11,22,33};
// 请使用二维数组存储这些数据,并帮该超市统计出每个季度的营业额,输出在控制台
int[][] sales = {
{11, 22, 33},//第一组的第一个11 第一组第二个22
{44, 55, 66},
{77, 88, 99},
{11, 22, 33}
};
// 遍历二维数组,计算并输出每个季度的总营业额
for (int i = 0; i < sales.length; i++) {//第几组
int quarterTotal = 0;
for (int j = 0; j < sales[i].length; j++) {//第几个
quarterTotal += sales[i][j];
}
System.out.println("第" + (i + 1) + "季度的营业额为: " + quarterTotal + "万元");
}
}
}