面向对象习题

创建类Calc,定义2个数属性以及一个符号属性,编写4个方法add、minus、multiply、divide,4个方法分别进行2个小数的加、减、乘、除运算.在主函数里面接受用户输入2个运算数、1个运算符,根据该运算符选择应该调用哪一个方法进行运算。

面向对象习题_第1张图片

面向对象习题_第2张图片

 

定义10名学生,循环接收10名学员的身高,然后给学员进行编号,输出最高的学员的信息

合理使用类和方法

提示:

       定义学生类

       Student

              int id       (编号)

              double height(身高)

       定义Height(功能类)类

              方法 Student maxHeight(Student[] s)

              查找身高最高的方法,参数为学生数组,返回值为学生对象

       建立测试类(Test)

              主方法(main)

演示:

       请输入第1个学生的身高:170

       请输入第2个学生的身高: 190

       …..

最高的学生的编号是 5 身高是:210

面向对象习题_第3张图片

面向对象习题_第4张图片

面向对象习题_第5张图片

 

面向对象习题_第6张图片

 面向对象习题_第7张图片

 面向对象习题_第8张图片

面向对象习题_第9张图片

面向对象习题_第10张图片

面向对象习题_第11张图片

面向对象习题_第12张图片

 面向对象习题_第13张图片

 某电信公司的市内通话费计算标准如下:三分钟内0.2元,三分钟后每增加一分钟增加0.1元,不足一分钟的按一分 钟计算。要求编写程序,给定一个通话时间(单位:秒)计算出应收费金额。(有问题)

import java.util.Scanner;

public class TelephoneBillCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入通话时间(秒):");
        int seconds = scanner.nextInt();

        int minutes = seconds / 60; // 将秒转换为分钟
        int remainingSeconds = seconds % 60; // 剩余的秒数

        double bill = calculateBill(minutes, remainingSeconds);
        System.out.println("应收费用:" + bill + "元");

        scanner.close();
    }

    public static double calculateBill(int minutes, int seconds) {
        final double INITIAL_RATE = 0.2; // 前3分钟的费率
        final double ADDITIONAL_RATE = 0.1; // 超过3分钟后每分钟增加的费率

        double bill = INITIAL_RATE;

        // 检查是否超过3分钟
        if (minutes > 3) {
            int additionalMinutes = minutes - 3;
            bill += additionalMinutes * ADDITIONAL_RATE;
        }

        // 检查是否存在剩余的秒数
        if (seconds > 0) {
            bill += ADDITIONAL_RATE;
        }

        return bill;
    }
}

万年历,从控制台输入 × × × ×年× ×月,从控制台输出该月日历(1900年1月1日是星期一)

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Test {
//    3.写程序获取一百个不重复的随机数
//    Set set = new HashSet();
    while(set.size() != 100){
        int num = (int )(Math.random()*100);
        set.add(num);
    }
    System.out.println(set);


//    public static double calc(int duration){
//        double cost = 0;
//        int minutes = duration/60;
//        int seconds = duration%60;
//        if(minutes < 3){
//            cost += 0.2;
//        }else{
//            cost += 3*0.2;
//        }
//                // 计算三分钟后每增加一分钟的费用
//        if (minutes > 3) {
//            cost += (minutes - 3) * 0.1;
//        }
//
//        // 不足一分钟的按一分钟计算
//        if (seconds > 0) {
//            cost += 0.1;
//        }
//        return cost;
//    }
//
//public static void main(String[] args) {
//
//    System.out.println("请输入你的通话分钟数:(单位:秒)");
//    Scanner scanner = new Scanner(System.in);
//    int duration = scanner.nextInt();
//    double cost = calc(duration);
//    System.out.println("需要话费:" + cost);
//
//    }
//}
    public static double calculateCallCost(int duration) {
        double cost = 0.0;
        int minutes = duration / 60; // 转换为分钟
        int seconds = duration % 60; // 不足一分钟的秒数

        // 计算三分钟内的费用
        if (minutes < 3) {
            cost += minutes * 0.2;
        } else {
            cost += 3 * 0.2; // 超过三分钟先加上三分钟的费用
        }

        // 计算三分钟后每增加一分钟的费用
        if (minutes > 3) {
            cost += (minutes - 3) * 0.1;
        }

        // 不足一分钟的按一分钟计算
        if (seconds > 0) {
            cost += 0.1;
        }

        return cost;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入通话时间(单位:秒): ");
        int duration = scanner.nextInt();

        double cost = calculateCallCost(duration);
        System.out.println("应收费金额为:" + cost + "元");

        scanner.close();
    }
}


//import java.util.Scanner;
//
//public class CallCostCalculator {
//    public static double calculateCallCost(int duration) {
//        double cost = 0.0;
//        int minutes = duration / 60; // 转换为分钟
//        int seconds = duration % 60; // 不足一分钟的秒数
//
//        // 计算三分钟内的费用
//        if (minutes < 3) {
//            cost += minutes * 0.2;
//        } else {
//            cost += 3 * 0.2; // 超过三分钟先加上三分钟的费用
//        }
//
//        // 计算三分钟后每增加一分钟的费用
//        if (minutes > 3) {
//            cost += (minutes - 3) * 0.1;
//        }
//
//        // 不足一分钟的按一分钟计算
//        if (seconds > 0) {
//            cost += 0.1;
//        }
//
//        return cost;
//    }
//
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        System.out.print("请输入通话时间(单位:秒): ");
//        int duration = scanner.nextInt();
//
//        double cost = calculateCallCost(duration);
//        System.out.println("应收费金额为:" + cost + "元");
//
//        scanner.close();
//    }
//}

你可能感兴趣的:(java,开发语言)