Java System.out.printf()使用详解

public class PrintfTest {
    public static void main(String[] args) {
        // 定义一些变量,用来格式化输出。
        double d = 345.678;
        String s = "你好!";
        int i = 1234;
        // "%"表示进行格式化输出,"%"之后的内容为格式的定义。
        System.out.printf("%f", d);// "f"表示格式化输出浮点数。
        System.out.println();
        System.out.printf("%9.2f", d);// "9.2"中的9表示输出的长度,2表示小数点后的位数。
        System.out.println();
        System.out.printf("%+9.2f", d);// "+"表示输出的数带正负号。
        System.out.println();
        System.out.printf("%-9.4f", d);// "-"表示输出的数左对齐(默认为右对齐)。
        System.out.println();
        System.out.printf("%+-9.3f", d);// "+-"表示输出的数带正负号且左对齐。
        System.out.println();
        System.out.printf("%d", i);// "d"表示输出十进制整数。
        System.out.println();
        System.out.printf("%o", i);// "o"表示输出八进制整数。
        System.out.println();
        System.out.printf("%x", i);// "d"表示输出十六进制整数。
        System.out.println();
        System.out.printf("%#x", i);// "d"表示输出带有十六进制标志的整数。
        System.out.println();
        System.out.printf("%s", s);// "d"表示输出字符串。
        System.out.println();
        System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s", d, i, s);
        // 可以输出多个变量,注意顺序。
        System.out.println();
        System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x", i, s);
        // "X$"表示第几个变量。
    }
}

import java.util.Scanner; public class StudentGrade { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 1. 输入学生学号、姓名、以及三门课成绩 System.out.print("请输入学生学号:"); long studentId = scanner.nextLong(); System.out.print("请输入学生姓名:"); String studentName = scanner.next(); double[] scores = new double[3]; System.out.print("请依次输入Java、数据结构、英语成绩:"); for (int i = 0; i < 3; i++) { scores[i] = scanner.nextDouble(); } // 2. 计算总成绩、平均分 double totalScore = 0; for (double score : scores) { totalScore += score; } double averageScore = totalScore / 3; // 3. 成绩评测 String evaluation; if (averageScore >= 90) { evaluation = "优秀"; } else if (averageScore >= 80) { evaluation = "良好"; } else if (averageScore >= 70) { evaluation = "中等"; } else if (averageScore >= 60) { evaluation = "及格"; } else { evaluation = "不及格"; } System.out.println("评级:" + evaluation); // 4. 查找成绩 System.out.print("请输入要查找的成绩:"); double targetScore = scanner.nextDouble(); boolean found = false; for (double score : scores) { if (score == targetScore) { System.out.println("存在该成绩"); found = true; break; } } if (!found) { System.out.println("不存在该成绩"); } // 5. 查询科目成绩 System.out.print("请输入要查询成绩的科目(1代表Java,2代表数据结构,3代表英语):"); int subject = scanner.nextInt(); switch (subject) { case 1: System.out.println("Java成绩为:" + scores[0]); break; case 2: System.out.println("数据结构成绩为:" + scores[1]); break; case 3: System.out.println("英语成绩为:" + scores[2]); break; default: System.out.println("输入的科目编号错误"); } // 6. 格式化输出学生信息 System.out.printf("学号:%d | 姓名:%s | 成绩:[%f, %f, %f] | 总成绩:%.0f | 平均分:%.2f | 评级:%s\n", studentId, studentName, scores[0], scores[1], scores[2], totalScore, averageScore, evaluation); scanner.close(); } }将求中
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值