首页 > 编程语言 >java题目之金额转换以及如何优化

java题目之金额转换以及如何优化

时间:2024-07-26 09:27:38浏览次数:14  
标签:题目 Scanner money 金额 System sc java 优化 public

public class ScannerDemo5 {
    public static void main(String[] args) {
        //键盘录入一个金额
          int money;
        while(true){
            System.out.println("请输入一个金额:");
            Scanner sc = new Scanner(System.in);
            money=sc.nextInt();
            if(money>=0 && money<=99999){
                break;
            }else {
                System.out.println("金额无效");
            }
        }

        //定义一个变量用来表示前的大写
        String moneystr=" ";


        //2.得到money里面的每一位数字
        while(true){
            //从右到左获取数据,因为右侧是数据的各位
            int ge=money%10;
            money=money/10;
            //把转换之后的大写拼接到moneystr中
            String capitalNumber = getCapitalNumber(ge);
            //第一次循环:伍+" "
            //第二次循环:叁+伍
            moneystr=capitalNumber+moneystr;

            //如果数字上的每一位获取到了,那么money记录的就是0,此时循环结束
            if(money==0){
                break;
            }
        }
        //3.在前面补0 ,补齐7位
        int count=7-moneystr.length();
        for (int i = 0; i < count ; i++) {
            moneystr= "零"+moneystr;
        }
        System.out.println(moneystr);
        //4.插入单位
        //定义一个数组表示单位
        String[]arr={"佰","拾","万","仟","佰","拾","元"};
        //遍历moneystr,依次得到数字
        //然后把arr的单位插入进去
        for (int i = 0; i <moneystr.length() ; i++) {
            char ch=moneystr.charAt(i);
            System.out.print(ch);
            System.out.print(arr[i]);
        }
    }


    //定义一个方法把数字变成大写的中文
    public  static  String getCapitalNumber(int number){
        String[]arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        //返回结果
        return arr[number];
    }

}

public class ScannerDemo5 {
    public static void main(String[] args) {
        //键盘录入一个金额
          int money;
        while(true){
            System.out.println("请输入一个金额:");
            Scanner sc = new Scanner(System.in);
            money=sc.nextInt();
            if(money>=0 && money<=99999){
                break;
            }else {
                System.out.println("金额无效");
            }
        }

        //定义一个变量用来表示前的大写
        String moneystr=" ";


        //2.得到money里面的每一位数字
        while(true){
            //从右到左获取数据,因为右侧是数据的各位
            int ge=money%10;
            money=money/10;
            //把转换之后的大写拼接到moneystr中
            String capitalNumber = getCapitalNumber(ge);
            //第一次循环:伍+" "
            //第二次循环:叁+伍
            moneystr=capitalNumber+moneystr;

            //如果数字上的每一位获取到了,那么money记录的就是0,此时循环结束
            if(money==0){
                break;
            }
        }
        //3.在前面补0 ,补齐7位
        int count=7-moneystr.length();
        for (int i = 0; i < count ; i++) {
            moneystr= "零"+moneystr;
        }
        System.out.println(moneystr);
        //4.插入单位
        //定义一个数组表示单位
        String[]arr={"佰","拾","万","仟","佰","拾","元"};
        //遍历moneystr,依次得到数字
        //然后把arr的单位插入进去
        String result="";
        for (int i = 0; i <moneystr.length() ; i++) {
            char ch=moneystr.charAt(i);
               //把大写数字和单位拼接到result当中
            result=result+ch+arr[i];
        }
        System.out.println(result);
    }


    //定义一个方法把数字变成大写的中文
    public  static  String getCapitalNumber(int number){
        String[]arr={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        //返回结果
        return arr[number];
    }

}

标签:题目,Scanner,money,金额,System,sc,java,优化,public
From: https://blog.csdn.net/Lele0456789/article/details/140661043

相关文章

  • java环境变量的配置
    1.path环境变量配置的作用程序的执行需要使用外部指令javac,但是javac指令仅仅能在JDK安装目录下的bin目录下时候,因此程序只能写入bin目录程序开发过程中,不能将源代码写入JDK的安装目录,因此需要将源程序保存到任意位置的指定目录(英文目录),所以需要使javac指令在任意目录下可以运......
  • JAVA编译和运行的CMD命令
    JAVA编译和运行的CMD命令编译JAVA程序编译Java程序是将源代码文件(.java)转换为字节码文件(.class)的过程。在CMD中,我们可以使用javac命令来进行编译。命令格式:javac[选项]文件名.java运行JAVA程序编译完成后,你可以使用java命令来运行生成的字节码文件。命令格式:java[选项]......
  • JavaWed过滤器和监听器(知识回顾+详解)
    过滤器 Filter   1.1概念       在浏览器和目标资源之间进行过滤的中间组件。       请求到达目标资源之前进行过滤。       响应到达浏览器之前进行过滤。   1.2定义过滤器的步骤      1.写一个java类,实现Filter接口   ......
  • Java并发编程(一)
    Java并发编程(一)1、在java中守护线程和本地线程区别java中的线程分为两种:守护线程(Daemon)和用户线程(User)任何线程都可以设置为守护线程和用户线程,通过方法Thread.setDaemon(boolon);true则把该线程设置为守护线程,反之则为用户线程。Thread.setDaemon()必须在Thread.st......
  • Azure Open AI - Python 和 Java API 之间 gpt4o 的结果截然不同
    我使用Java和PythonAPI对AzureOpenAI进行相同的调用,但收到截然不同的结果:相同的系统提示相同的用户提示适用于Java和Python的azureai包的相同(最新)版本尽管输入的用户和系统提示完全相同,但响应却非常不同-python提示是“正确的”并......
  • java开发,入职第一天都干什么,带提前了解
    2024.7.24,帝都今晚大雨,在雨声磅礴的夜晚适合干什么,没错适合敲代码,写博客,今晚来聊下入职一个新公司,第一天都干什么。无论是刚毕业的新手小白,还是工作十余年的职场老人,入职一家新公司,只要还是做研发,那么毫无疑问,在领到电脑后,第一件事就是要装环境,装环境估计要花小半天或半天的时间,......
  • Java 代码规范if嵌套
    在Java编程中,过度的if嵌套会使代码难以阅读和维护。为了遵循良好的代码规范,我们应尽量减少嵌套的深度。这通常可以通过重新组织代码或使用其他结构(如switch语句,或者将逻辑封装到单独的方法中)来实现。以下是一个减少if嵌套的示例。示例:用户身份验证和权限检查假设我们有一个系统......
  • Java代码实现七夕魔方照片墙
    创建一个七夕魔方照片墙是一个相对复杂的任务,涉及到前端展示和后端数据处理。在这里,我会提供一个简化的Java后端示例,用于生成一个模拟的“照片墙”数据模型,并给出一个基本的前端HTML页面来展示这些数据。请注意,由于这是一个简化的示例,它不会包含完整的用户交互和动态数据加载,而是......
  • MySQL查询性能优化
    避免使用SELECT*:只选择必要的列可以减少数据传输量和处理时间。避免使用OR和NOTIN:使用OR和NOTIN会导致全表扫描,影响查询性能。使用LIMIT分页:使用LIMIT分页可以避免一次性返回大量数据‍。使用EXPLAIN查看执行计划:可以通过查看执行计划了解SQL的执行情况。优化WHERE条件:尽可......
  • 力扣131题:分割回文串的 Java 实现
    引言力扣(LeetCode)是一个在线编程平台,提供了大量的编程题目供开发者练习。第131题“分割回文串”是一个有趣的字符串处理问题,要求将一个字符串分割成尽可能多的回文子串。本文将介绍如何使用Java解决这个问题。题目描述给定一个字符串s,请将s分割成尽可能多的回文子......