java基础08 双重循环打印图形

本文介绍了Java基础中关于双重循环的应用,包括计算班级平均分、打印直角三角形、九九乘法表、冒泡排序、统计高分学生数量、打折商品统计、正三角形、平行四边形、菱形和循环小练习等经典实例,帮助读者深入理解双重循环的使用。
摘要由CSDN通过智能技术生成

1.计算每个班级平均分:

package cn.kgc.tuxing;
import java.util.Scanner;


/**
 * 
 * @author Vip宅男
 *
 */
public class Double01 {
/**
* 若有3个班级各四名学员参赛,如何计算每个班级参赛学员的平均分?
*/

public static void main(String[] args) {
/**
* 创建一个二维数组保存数据
*/

double[][] scores=new double[3][4];
/**
* 循环输入学员的成绩
*/

Scanner scanner=new Scanner(System.in);
//定义一个变量,保存每个班级的总分
double sum=0;
/**
* 01.外层循环控制班级人数
*/

for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第"+(i+1)+"个班级的学生成绩:");
/**
* 内层循环控制学生人数
*/

for (int j = 0; j < scores.length; j++) {
System.out.println("请输入第"+(j+1)+"个学生成绩:");
scores[i][j]=scanner.nextDouble();
sum+=scores[i][j];
}
System.out.println("第"+(i+1)+"个班级的平均分是:"+(sum/scores.length));
//总分清零,为下一个班级的总分计算
sum=0;
}
}
}

2.打印直角三角形:

package cn.kgc.tuxing;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double02 {
/**
*直角三角形
*/

public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您需要的行数:");
int num=scanner.nextInt();
/**
* 外层循环控制行数
*/

for (int i = 0; i <=num; i++) {
/**
* 内层循环控制星星
*/

for (int j = 0; j <2*i-1; j++) {
System.out.print("*");
}
System.out.println();//换行
}
}
}

3.打印九九乘法表:

package cn.kgc.tuxing;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double03 {
/**
* 九九乘法表
*/

public static void main(String[] args) {
/**
* 外层循环控制行数
*/

for (int i =1; i <=9; i++) {
/**
* 内层循环控制列数 j<=i
*/

for (int j =1; j <=i; j++) {
System.out.print(i+"*"+j+"="+(i*j)+"\t");
}
System.out.println();
}
}
}

4.冒泡排序:

package cn.kgc.tuxing;
import java.util.Arrays;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double04 {
/**
          *  冒泡排序
          *  01.外层循环N-1   (N:数组的长度)
          *  02.内层循环N-1-i (i:比较的轮数,外层循环的变量)
          *  03.两两相比 小靠前!必须进行等量转换!互换位置!
          */

public static void main(String[] args) {
int[] nums = { 80, 20, 25, 30, 1, 8, 100, 72, 50 };
/**
 * 外层循环控制轮数
 */

for (int i = 0; i < nums.length-1; i++) {
/**
* 内层循环控制比较次数
*/

for (int j = 0; j < nums.length-1-i; j++) {
/**
* 两辆相比小靠前!如果后面的小,需要和前面的互换位置
*/

if (nums[j+1]<nums[j]) {
int temp=0;
temp=nums[j+1];
nums[j+1]=nums[j];
nums[j]=temp;
}
}
}
System.out.println("排序后的数组:"+Arrays.toString(nums));
}
}

5.成绩大于85分的学生数:

package cn.kgc.tuxing;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double05 {
/**
          * 若有3个班级各4名学员参赛,
          * 如何计算每个班级参赛学员的平均分?
          * 计算成绩大于85分的学生数量
          */

public static void main(String[] args) {
/**
* 创建一个二维数组来保存数据
*/

double[][] scores=new double[3][4];
/**
* 循环输入学员的成绩
*/

Scanner scanner=new Scanner(System.in);
//定义一个变量,保存分数大于85的学生数量
int count=0;
/**
* 外层循环控制班级数
*/

for (int i = 0; i < scores.length; i++) {
System.out.println("请输入第"+(i+1)+"个班级的学生成绩********");
/**
* 内层循环控制学生人数
*/

for (int j = 0; j < scores.length; j++) {
System.out.println("请输入第"+(j+1)+"个学生成绩:");
scores[i][j]=scanner.nextDouble();//获取学生成绩
if (scores[i][j]<85) {
continue;//如果分数小数85,不计算次数
}
count++;
}
}
System.out.println("85分以上的学生人数是:"+count);
}
}

6.统计打折商品数量:

package cn.kgc.tuxing;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double06 {
/**
           * 有3名顾客去商场购物,每人买3件商品
             商品单价300元以上的商品享受8折优惠
             请统计每人享受打折优惠的商品的数量
           */

public static void main(String[] args) {
//保存顾客打折的商品数量
int count=0;
double price=0;
Scanner scanner=new Scanner(System.in);
/**
* 外层循环控制顾客的数量
*/

for (int i =1; i <=3; i++) {
System.out.println("请输入第"+i+"名顾客购买的商品价格");
for (int j =1; j <=3; j++) {
/**
* 内层循环控制价格
*/

price=scanner.nextDouble();
if (price<300) {
continue;
}
count++;
}
System.out.println("第"+i+"名顾客打折的商品数量"+count);
count++;
}
}
}

7.正三角形:

package cn.kgc.tuxing;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double07{
/**
* 正三角形
*/

public static void main(String[] args) {
for (int i =1; i <=5; i++) {
/**
* 先输出空格
*/

for (int j =1; j <=5-i; j++) {
System.out.print(" ");
}
/**
* 打印*
*/

for (int j =1; j <=2*i-1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

8.打印平行四边形:

package cn.kgc.tuxing;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double08 {
/**
* 打印平行四边形
*/

public static void main(String[] args) {
for (int i =1; i <=5; i++) {
for (int j =1; j <=5-i; j++) {
System.out.print(" ");
}
for (int j =1; j <=5; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

9.打印菱形:

package cn.kgc.tuxing;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double09 {
/**
 * 打印菱形
 */

public static void main(String[] args) {
/**
* 正三角形
*/

for (int i =1; i <=5; i++) {
for (int j =1; j <=5-i; j++) {
System.out.print(" ");
}
for (int j =1; j <=2*i-1; j++) {
System.out.print("*");
}
System.out.println();
}
/**
* 倒三角形
*/

for (int i =1; i <=4; i++) {
for (int j =1; j <=i; j++) {//空格
System.out.print(" ");
}
for (int j =1; j <=9-2*i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

10.循环小练习:

package cn.kgc.tuxing;
import java.text.DecimalFormat;
import java.util.Scanner;
/**
 * 
 * @author Vip宅男
 *
 */
public class Double10 {
/**
          * 循环录入某学生5门课的成绩并计算平均分,
          * 如果某分数录入为负,停止录入并提示录入错误
          */

@SuppressWarnings("unused")
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入学生姓名:");
String name=scanner.next();
double sum=0;
/**
* 循环获取用户的成绩
*/

for (int i =1; i <=3; i++) {
System.out.println("请输入第"+i+"门课程的成绩:");
double score=scanner.nextDouble();
/**
* 如果输入的为负数,则跳出循环
*/

if (score<0) {
System.out.println("您的输入有误");
break;
}
sum+=score;//计算总成绩
}
//对数字进行格式化
DecimalFormat df=new DecimalFormat("#.00");
System.out.println("平均分为:"+df.format((sum/3)));

}
}

 public void test03() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入班级的人数:");
        int total = scanner.nextInt(); // 总人数
        double score = 0; // 成绩
        int sum = 0;// 记录大于80分的人数
        for (int i = 1; i <= total; i++) { // 循环录入成绩
            System.out.println("请输入第" + i + "门课程的成绩:");
            score = scanner.nextDouble();
            if (score >= 80) { // 如果成绩大于80 sum++
                sum++;
                continue; // 结束本次循环 执行i++语句 继续执行下次的循环
            }
            System.out.println("小于80分 才能执行这句话!");
        }
        // 输出百分比 sum(大于80)/total(总人数)
        DecimalFormat df = new DecimalFormat("#.00%");
        System.out.println("80分以上的百分比是:" + df.format(sum / (total + 0.0)));
    }

    @Test
    // 1-10之间的偶数和
    public void test04() {
        int sum = 0;
        for (int i = 1; i <= 10; i++) {
            if (i % 2 != 0) { // 奇数就要不相加
                continue;
            }
            sum += i;
        }
        System.out.println("偶数和是:" + sum);

    }

    @Test
    // 双重循环中的 continue
    public void test05() {
        for (int i = 1; i <= 2; i++) {
            for (int j = 1; j <= 3; j++) {
                if (j == 2) {
                    break;
                }
                System.out.println("j" + j);
            }
        }
        Scanner scanner = new Scanner(System.in);
        String next = scanner.next();
        System.out.println(next);
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值