java案例1

例1:

题目:某学生3门课的成绩如下:
STB:89; Java:90; SQL:60
编程实现:
(1).Java课和SQL课的分数之差;
(2).3门课的平均分;
(3).使用条件运算符输出每门课的成绩与平均分相比谁大谁小。

package test;

public class Score {

/**
 * 运算符的使用 
 * 2013年8月19日
 * @param args
 */
// 主函数:程序的入口
public static void main(String[] args) {
    System.out.println("--------------------");
    // 将3门课的名称依次输出
    System.out.println("STB\t" + "Java\t" + "SQL\t");
    // 将3门课的考试成绩依次对应输出
    System.out.println("89\t" + "90\t" + "60\t");
    System.out.println("--------------------");

    // 定义3个int型变量,分别代表3门课;并为3门课分别赋值,值为3门课的考试成绩。
    int STB = 89;
    int Java = 90;
    int SQL = 60;

    /*
     * 实现问题(1):Java课和SQL课的分数之差。 
     * 定义int型变量difference,将Java课和SQL课的分数之差赋给它。
     * 用到二元算术运算符:-
     */
    int difference = Java - SQL;
    // 输出问题(1)的结果
    System.out.println("(1)Java课和SQL课的分数之差:" + difference);

    /*
     * 实现问题(2):3门课的平均分。 
     * 定义int型变量avg,将3门课的平均分赋给它。 
     * 用到二元算术运算符:+和/
     */
    int avg = (STB + Java + SQL) / 3;
    // 输出问题(2)的结果
    System.out.println("(2)3门课的平均分是:" + avg);

    /*
     * 实现问题(3):使用条件运算符输出每门课的成绩与平均分相比谁大谁小。 
     * 用到条件运算符:?: 以及 关系运算符。
     */
    // 为了输出结果便于观看,因此先输出题目序号(3)
    System.out.println("(3)");
    // 输出STB课的成绩与平均分相比谁大谁小
    System.out.println("STB课的成绩与平均分相比:"
            + ((STB > avg) ? "STB课的成绩大,平均分小" : "STB课的成绩小,平均分大"));
    // 输出Java课的成绩与平均分相比谁大谁小
    System.out.println("Java课的成绩与平均分相比:"
            + ((Java > avg) ? "Java课的成绩大,平均分小" : "Java课的成绩小,平均分大"));
    // 输出SQL课的成绩与平均分相比谁大谁小
    System.out.println("SQL课的成绩与平均分相比:"
            + ((SQL > avg) ? "SQL课的成绩大,平均分小" : "SQL课的成绩小,平均分大"));
}

}

例2:在屏幕上按下格式打印出1000以内的所有奇数,并求和。

程序1:

package test;

public class TestCycle {

    /**
     * 一重for循环 
     * 2013年8月21日
     * @param args
     */
    // 主函数:程序的入口
    public static void main(String[] args) {
        // 定义一个变量sum,储存和值。
        int sum = 0;
        // 输出1000以内的全部奇数,要用到循环,此处用for循环。
        for (int i = 0; i <= 1000; i++) {
            // if语句,判断是否是奇数
            if (i % 2 != 0) {
                // 嵌套的if语句,用于按照格式输出
                // 从所给格式可看出换行的条件:(i+1)%20==0
                if ((i + 1) % 20 == 0) {
                    // 换行输出每行最后一个数
                    System.out.println(i);
                } else {
                    // 不是行末的数,不换行输出。
                    System.out.print(i + "\t");
                }
                // 在i取奇数时,将i加到sum中
                sum += i;
            } else {//此处的else可以写,也可以不写
                // 如果i不是奇数,则利用continue结束本次循环,接着执行下一次循环
                continue;
            }
        }
        // 在循环体外输出sum的值,即是1000以内所有奇数的和。
        System.out.println("1000以内所有奇数的和是:" + sum);
    }

}

程序2:

package test;

public class TeachHomework {
    public static void main(String[] args) {
        int sum = 0;
        // 提供计数变量,负责对当前每一列完成计数,
        // 当到第10列时,换行
        int count = 0;
        for (int i = 0; i <= 1000; i++) {
            if (i % 2 != 0) {
                System.out.print(i + "\t");
                sum += i;
                count++;
            }
            // 每打印10个数字时完成换行
            if (count == 10) {
                System.out.println();
                // 从下一行第一列开始重新计数
                count = 0;
            }
        }
        System.out.println("1000以内所有奇数的和是:" + sum);
    }
}

例3:在屏幕上打印出1000以内能被3或被5整除的数,并求和。

package testcycle;

public class Test1 {

    /**
     * for循环-if判断语句的使用 
     * 2013年8月22日
     * @param args
     */
    //主函数:程序的入口
    public static void main(String[] args) {
        //定义一个变量sum,用于存储和值
        int sum = 0;
        //定义一个计数变量count,用于完成对每一列进行计数
        int count = 0;
        //for循环完成1000以内数的循环
        for (int i = 0; i < 1000; i++) {
            //if语句用于取出能被3整除或被5整除的数
            if (i % 3 == 0 || i % 5 == 0) {
                //不换行打印满足条件的数,并进行格式化("\t")
                System.out.print(i + "\t");
                //将满足条件的数加到sum中
                sum += i;
                //每出现一个满足条件的数,count的值加1
                count++;
            }
            //判断列数
            if (count == 10) {
                //换行的条件:每10列换一行,即每打印10个数字换一行
                System.out.println();
                //下一行的第一列开始,重新计数
                count = 0;
            }
        }
        //换行,准备进行和值的打印
        System.out.println();
        //将满足条件的数的和值打印
        System.out.println("1000以内能被3或被5整除的数字之和是:"+sum);
    }

}

例4:从键盘输入一个数,以该数为正方形的边长,用*号在屏幕上打印出一个正方形。

package testcycle;

import java.util.Scanner;

public class Test2 {

    /**
     * 二重for循环的使用
     * 2013年8月22日
     * @param args
     */
    // 主函数:程序的入口
    public static void main(String[] args) {
        // 打印一行文字,提示用户输入正方形的边长
        System.out.println("请输入正方形的边长:");
        // 用扫描器将用户的输入进行扫描
        Scanner scan = new Scanner(System.in);
        // 将扫描的结果转化成一个整数,即正方形的边长
        int sidelength = scan.nextInt();
        // 外层循环:控制行
        for (int i = 0; i < sidelength; i++) {
            // 内层循环:控制列
            for (int j = 0; j < sidelength; j++) {
                // 每一行中,依次不换行打印* ,即产生sidelength列
                System.out.print("* ");
            }
            // 每一行的sidelength列打印完后,进行换行。同样产生sidelength行
            System.out.println();
        }
    }

}

5、在屏幕上打印出一个靠右的直角三角形。

java案例1_第1张图片

程序1:

package testcycle;

import java.util.Scanner;

public class Test3 {

    /**
     * 二重for循环 (使用了三个for循环) 
     * 2013年8月22日
     * @param args
     */
    // 主函数:程序的入口
    public static void main(String[] args) {
        // 打印一行文字,提示用户输入三角形的行数
        System.out.println("请输入三角形的行数:");
        // 用扫描器将用户的输入进行扫描
        Scanner scan = new Scanner(System.in);
        // 将扫描的结果转化成一个整数,即正方形的边长
        int sidelength = scan.nextInt();
        // 外层循环:控制行
        for (int i = 0; i < sidelength; i++) {
            // 内层循环:控制列
            // 用于输出空格
            // 根据格式找到空格满足的规律:j

程序2:

package testcycle;

import java.util.Scanner;

public class Test4 {

    /**
     * 二重for循环(使用了2个for循环和1个if-else判断语句) 
     * 2013年8月22日
     * @param args
     */
    // 主函数:程序的入口
    public static void main(String[] args) {
        // 打印一行文字,提示用户输入三角形的行数
        System.out.println("请输入三角形的行数:");
        // 用扫描器将用户的输入进行扫描
        Scanner scan = new Scanner(System.in);
        // 将扫描的结果转化成一个整数,即正方形的边长
        int sidelength = scan.nextInt();
        // 外层循环:控制行
        for (int i = 0; i < sidelength; i++) {
            // 内层循环:控制列
            for (int j = 0; j < sidelength; j++) {
                // 如果满足j

你可能感兴趣的:(java案例1)