Java学习 2020.1.4

for循环

课后练习

在这里插入图片描述

public class Main {
    public static void main(String[] args) {
        double pi = 0;
        double M = 1000000000;
        int a = 1;
        for (double i=1;i<M ;i=i+2) {
            // TODO
            pi = pi + a/i;
            a = -a;
        }
        System.out.println(pi*4);
    }
}

遍历数组
Arrays.toString(ns)快速打印数组内容

import java.util.Arrays;
public class Main {
    public static void main(String[] args) {
        int[] ns = { 1, 1, 2, 3, 5, 8 };
        System.out.println(Arrays.toString(ns));
    }
}

数组排序

冒泡算法

package com.itranswarp.learnjava;
import java.util.Arrays;
/**
 * 降序排序
 */
public class Main {
	public static void main(String[] args) {
		int[] ns = { 28, 12, 89, 73, 65, 18, 96, 50, 8, 36 };
		// 排序前:
		System.out.println(Arrays.toString(ns));
		// TODO:
		for(int i=0; i<ns.length-1; i++){
            for(int j=i+1; j<ns.length; j++) {
            	if(ns[i] < ns[j]) {
            		int t = ns[i];
            		ns[i] = ns[j];
            		ns[j] = t;
            	}
            } 
		}
		// 排序后:
		System.out.println(Arrays.toString(ns));
		if (Arrays.toString(ns).equals("[96, 89, 73, 65, 50, 36, 28, 18, 12, 8]")) {
			System.out.println("测试成功");
		} else {
			System.out.println("测试失败");
		}
	}
}

二维数组

打印二维数组方法:
1、双层嵌套

for (int[] arr : ns) {
    for (int n : arr) {
        System.out.print(n);
        System.out.print(', ');
    }
    System.out.println();
}

2、自带的函数

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[][] ns = {
            { 1, 2, 3, 4 },
            { 5, 6, 7, 8 },
            { 9, 10, 11, 12 }
        };
        System.out.println(Arrays.deepToString(ns));
    }
}

课后练习

想知道数组所有元素的个数,可在每次循环最后进行计数

package com.itranswarp.learnjava;
import jdk.javadoc.internal.doclets.toolkit.taglets.SummaryTaglet;
/**
 * 二维数组
 */
public class Main {
	public static void main(String[] args) {
		// 用二维数组表示的学生成绩:
		int[][] scores = { //
				{ 82, 90, 91 }, //
				{ 68, 72, 64 }, //
				{ 95, 91, 89 }, //
				{ 67, 52, 60 }, //
				{ 79, 81, 85 }, //
		};
		// TODO:
		double sum = 0;
		double average = 0;
		for(int[] stu:scores) {
			for(int score : stu) {
				sum = sum + score;
				average++;   // 计数
			}
		}
		sum=sum/average;
		System.out.println(sum);
		if (Math.abs(sum - 77.733333) < 0.000001) {
			System.out.println("测试成功");
		} else {
			System.out.println("测试失败");
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值