首页 > 编程语言 >Java实验二 分支循环程序设计

Java实验二 分支循环程序设计

时间:2024-11-01 21:46:38浏览次数:3  
标签:Java Scanner int System 程序设计 out public 输入 分支

1. 编写程序接受用户输入的一个表示月份的整数,若用户输入了从1到12以外的整数则提示“输入有误”,输出对应月份的天数。

提示1:可暂不考虑闰年,以2月份为28天来实现

提示2:可以使用if或switch实现,体会选择分支的构造

package project;
import java.util.Scanner;
public class MontDays {
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入月份(1-12):");
        int month = scanner.nextInt();
        int days = 31;
        if (month < 1 || month > 12) {
            System.out.println("输入有误");
            System.exit(0);
        } else if (month == 4 || month == 6 || month == 9 || month == 11) {
            days = 30;
        } else if (month == 2) {
            // 可暂不考虑闰年,以2月份为28天来计算
            days = 28;
        }
        System.out.println(month + "月有" + days + "天");
    }
}

2. 编写程序接受用户输入多个整数,当用户输入的整数为0时显示已输入所有整数的平均值并结束程序。

package project;
import java.util.Scanner;
public class AverageCalculator {
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int sum = 0;
        int count = 0;

        while (true) {
            System.out.print("请输入一个整数(输入0结束):");
            int number = scanner.nextInt();
            if (number == 0) {
                break;
            }
            sum += number;
            count++;
        }

        if (count > 0) {
            double average = (double) sum / count;
            System.out.println("已输入的整数的平均值为:" + average);
        } else {
            System.out.println("没有输入整数");
        }
    }
}

3. 编写程序接受用户输入的10个整数,通过一维数组存放比较并输出其中的最大值和最小值。

package project;
import java.util.Scanner;
public class MinAndMaxFinder {
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] numbers = new int[10];

        System.out.println("请输入10个整数:");
        for (int i = 0; i < 10; i++) {
            System.out.print("请输入第" + (i + 1) + "个整数:");
            numbers[i] = scanner.nextInt();
        }

        int max = numbers[0];
        int min = numbers[0];
        for (int i = 1; i < 10; i++) {
            if (numbers[i] > max) {
                max = numbers[i];
            }
            if (numbers[i] < min) {
                min = numbers[i];
            }
        }

        System.out.println("最大值为:" + max);
        System.out.println("最小值为:" + min);
    }
}

4. 编写程序求满足1 + 2! + 3! + ... + n! <= 9876的最大整数n。

package project;
public class FactorialSum {
public static void main(String[] args) {
        int sum = 0;
        int n = 1;

        while (sum <= 9876) {
            int factorial = 1;
            for (int i = 1; i <= n; i++) {
                factorial *= i;
            }
            sum += factorial;
            n++;
        }

        System.out.println("满足条件的最大整数n为:" + (n - 2));
    }
}

5. 编写程序输出九九乘法表。

提示:注意输出控制符的使用,控制输出的排版

package project;
public class MultiplicationTable {
public static void main(String[] args) {
        // 输出表格
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.printf("%d*%d=%2d ", j, i, i * j);
            }
            System.out.println();
        }
    }
}

6. 编写程序接受用户输入两次1到9的数值,查询九九乘法表得到的乘积。

提示:可以使用二维数组

package project;
import java.util.Scanner;
public class MultiplicationTable2 {
public static void main(String[] args) {
        int[][] table = new int[9][9];
        
        // 填充九九乘法表
        for (int i = 0; i < 9; i++) {
            for (int j = 0; j <= i; j++) {
                table[i][j] = (i + 1) * (j + 1);
            }
        }
        
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("请输入第一个数值(1-9):");
        int num1 = scanner.nextInt();        
        System.out.print("请输入第二个数值(1-9):");
        int num2 = scanner.nextInt();
        
        if (num1 < 1 || num1 > 9 || num2 < 1 || num2 > 9) {
            System.out.println("输入的数值超出范围!");
        } else {
            int result = table[Math.max(num1, num2) - 1][Math.min(num1, num2) - 1];
            System.out.printf("%d * %d = %d\n", num1, num2, result);
        }
        
        scanner.close();
    }
}

7. 为节约用电,某市将用户用电量分成3个区间,针对不同的区间给出不同的收费标准。对于1至90千瓦时(度)的电量,每千瓦时0.6元;对于91至150千瓦时的电量,每千瓦时1.1元;对于用大于151千瓦时的电量,每千瓦时1.7元。编写程序接受用户输入用电量并输出应缴电费。

package project;
import java.util.Scanner;
public class ElectricityBill {
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入用电量(单位:千瓦时):");
        double electricity = scanner.nextDouble();
        double bill = 0.0; // 初始化电费
        
        if (electricity <= 90) {
            bill = electricity * 0.6;
        } else if (electricity > 90 && electricity <= 150) {
            bill = 90 * 0.6 + (electricity - 90) * 1.1;
        } else if (electricity > 150) {
            bill = 90 * 0.6 + 60 * 1.1 + (electricity - 150) * 1.7;
        }
        
        System.out.printf("应缴电费:%.2f 元\n", bill);
        
        scanner.close();
    }
}

8. 假设某个大学今年的学费是10000元,并且以每年7%的速度增加,计算多少年之后学费会翻倍。

package project;
public class Tuition {
public static void main(String[] args) {
        double initialTuition = 10000; // 初始学费
        double annualIncreaseRate = 0.07; // 年增长率
        double targetTuition = initialTuition * 2; // 翻倍后的学费
        int years = 0; // 初始年数

        while (initialTuition < targetTuition) {
            initialTuition *= (1 + annualIncreaseRate);
            years++;
        }

        System.out.println("学费将在" + years + "年后翻倍");
    }
}

标签:Java,Scanner,int,System,程序设计,out,public,输入,分支
From: https://blog.csdn.net/weixin_69276268/article/details/143367016

相关文章

  • Java面试题中高级进阶(JVM篇Java垃圾回收)
    前言本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说说Java对象创建过程?知道类的生命周期吗?简述Java的对象结构?如何判断对象可以被回收?JVM的永久代中会发生垃圾回收么?你知道哪些垃圾收集算法?似乎有点模糊了,那就大概看一下面试题吧。好记性不如烂键盘***12万字的java面......
  • 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现四
    一、前言介绍:1.1项目摘要随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势。传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速、便捷需求。这些问题不仅影响了快递服务的效率,也增加了快递员和消费者的不便。在这样的背景下,快递柜......
  • 当下最好的Java做人工智能应用的开源框架-Spring AI alibaba介绍-含免费的菜鸟入门教
    在过去,Java缺乏一个统一且高效的AI应用框架,这导致开发者在使用不同AI提供商(如OpenAI、Azure或阿里云)时需要频繁地调整代码和接口适配。现在有了Spring团队推出的springAI,他能够很好的解决上面的问题,本文会先介绍一下springai这个应用框架的核心能力和功能。 然后再用s......
  • java计算机毕业设计基于框架的图书分享系统的设计与开发(开题+程序+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着互联网技术的飞速发展,信息传播和共享变得更加便捷高效。在图书领域,传统的图书分享方式受到地域、时间等诸多限制,难以满足人们日益增长的阅读......
  • java+vue计算机毕设富华责任有限公司的人事信息管理系统【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,企业信息化已成为提升竞争力的关键手段之一。富华责任有限公司作为一家不断壮大的企业,其人事管理工作日益复杂,传统的人工管理......
  • java+vue计算机毕设电商助农微信小程序【开题+程序+论文+源码】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,电子商务已成为推动农村经济发展的重要力量。我国农村地区资源丰富,但受限于地理位置、信息闭塞等因素,农产品销售往往面临渠道......
  • 2024-2025-1 20241310 《计算机基础与程序设计》第6周学习总结
    2024-2025-120241310《计算机基础与程序设计》第6周学习总结作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)这个作业要求在哪里2024-2025-1计算机基础与程序设计第一周作业这个作业的......
  • 为什么安卓不去掉 Java 语言底层_2
    为什么安卓不去掉Java语言底层?在探讨为什么安卓不去掉Java语言底层时,我们可以立即指出几个核心原因:兼容性保持、开发生态成熟度、跨平台性能。其中,兼容性保持是最为关键的一点。Android平台自推出以来,就大量采用Java语言进行应用开发。这背后不仅仅是因为Java语言的广泛使用......
  • java中对象池的在什么时候应用比较合适
    对象池是一种软件设计模式,其主要目的是重用对象,减少对象的频繁创建和销毁。在Java中,对象池在特定场景下表现出色,如数据库连接、线程池或重资源操作。本文深入探讨对象池的概念、优势和Java中的合适应用场景。1.对象池的基本介绍对象池是一种存储已初始化对象的容器,让这些对象......
  • Javascript中includes函数
    用处用于数组和字符串,用于判断数组是否包含某个值。或者用于字符串是否包括某个子串。如果找到该值或者字符串,则返回true,否则返回false语法:arr.includes(valueToFind[,fromIndex]) valueToFind:必需。需要查找的元素值。fromIndex:可选。从该索引处开始查找 valueToFind......