Java基础之练习(2)

需求: 键盘录入一个字符串,使用程序实现在控制台遍历该字符串

java 复制代码
package String;

import java.util.Scanner;

public class StringDemo5 {
    public static void main(String[] args) {
        //录入一个字符串
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串");
        String str = sc.next();

        //进行遍历
        for (int i = 0; i < str.length(); i++) {
            // i 依次表示字符串的每一个索引
            //自动生成左边是 Ctrl + alt + v
            char c = str.charAt(i);
            System.out.println(c);
        }
    }
}

运行结果

统计字符次数

键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)

java 复制代码
package String;

import java.util.Scanner;

public class StringDemo6 {
    public static void main(String[] args) {
        //键盘录入
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个字符串");
        String str = sc.next();
        //统计  计数器思想
        //定义三个计数器
        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if (c>='a' && c<='z'){
                char类型的变量在参与计算的时候自动类型提升为int查询ascii码表
                smallCount++;
            }else if(c>='A' && c<='Z'){
                bigCount++;
            }else if(c>='0' && c<='9'){
                numberCount++;
            }
        }
        System.out.println("小写字母有:"+smallCount+"个");
        System.out.println("大写字母有:"+bigCount+"个");
        System.out.println("数字字母有:"+numberCount+"个");

    }
}

拼接字符串

java 复制代码
package String;

import com.sun.source.tree.IfTree;

import javax.xml.transform.Result;

public class StringDemo7 {
    public static void main(String[] args) {
        int[] arr = {1,2,3};

        String str = arrToString(arr);
        System.out.println(str);//[123

    }


    //定义一个方法
    public static String arrToString(int[] arr){
        if (arr == null){
            return "";
        }
        if (arr.length == 0){
            return "[]";
        }
        String result = "[";
        //代码到这表示数组不是null 也不是长度为0的
        for (int i = 0; i < arr.length; i++) {
            //i 索引 arr[i] 元素
            if (i == arr.length - 1){
                result = result + arr[i];
            }else {
                result = result + arr[i] + ", ";
            }
        }
        result = result + "]";
        return result;
    }
}

字符串反转

定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果例如,键盘录入 abc,输出结果 cba

java 复制代码
package String;

import javax.xml.transform.Result;

public class StringDemo8 {
    public static void main(String[] args) {
       String result = reverser("abc");
       System.out.println(result);

    }


    public static String reverser(String str) {
        String result ="";
        for (int i = str.length() -1 ; i >= 0; i--) {
            //依次表示字符串中的每一个索引(倒着的)
            char c = str.charAt(i);
            result = result + c ;
        }
        return result;

    }
}

运行结果

金额转换


代码

java 复制代码
package String;

import java.util.Scanner;

public class StringDemo9  {
    public static void main(String[] args) {
        //键盘录入一个金额
        Scanner sc = new Scanner(System.in);
        int money ;
        while (true) {
            System.out.println("输入一个金额");
            money = sc.nextInt();
            if (money >= 0 && money <= 99999999) {
                break;
            } else {
                System.out.println("输入金额无效");
            }
        }
        //定义一个变量用来表示钱的大写
        String moneyStr = "";
        //System.out.println(money);
        // 得到money里面的每一位数
        while (true){
            //从右往左获取数据
            int ge = money % 10;
            String capitalNumber = getCapitalNumber(ge);
            //把转换之后的大写拼接到moneystr中
            moneyStr = capitalNumber+moneyStr;
            money = money / 10;
            //如果数字上的每一位都获取到了,那么money记录的就是0,此时循环结束
            if (money == 0) {
                break;
            }
        }
        //在前面补0补齐七位
        int count = 7 - moneyStr.length();
        for (int i = 0; i < count; i++) {
            moneyStr="零"+ moneyStr;
        }
        //插入单位
        //定义一个数组表示单位
        String[] arr = {"佰","拾","萬","仟","佰","拾","元"};
        //遍历moneystr
        //然后把arr的单位插入进去
        String result = "";
        for (int i = 0; i < moneyStr.length(); i++) {
            char c = moneyStr.charAt(i);
            result = result + c + arr[i];
        }
        System.out.println(result);


    }

    //定义一个方法把数字变成大写的数字
    public static String getCapitalNumber(int number){
        //定义数组让数字跟大小的中文产生关系
        String[] arr ={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
        //返回结果
        return arr[number];
    }
}
相关推荐
无限进步_几秒前
【C++】私有虚函数与多态:访问权限不影响动态绑定
开发语言·c++·ide·windows·git·算法·visual studio
8Qi83 分钟前
Elasticsearch 初识篇:核心概念与环境搭建
java·大数据·分布式·elasticsearch·搜索引擎·中间件
lolo大魔王7 分钟前
Go语言的结构体
开发语言·后端·golang
lly20240610 分钟前
C 作用域规则
开发语言
阿正的梦工坊12 分钟前
JavaScript 函数作用域详解——为什么函数外面访问不到里面的变量?
开发语言·javascript
消失的旧时光-194313 分钟前
Spring 核心思想解析:IoC 与 DI 一文讲透(从入门到工程理解)
java·ioc·di
小梁努力敲代码16 分钟前
抽奖系统-测试报告
java·功能测试
DS数模23 分钟前
2026年Mathorcup数学建模竞赛A题思路解析+代码+论文
开发语言·数学建模·matlab·mathorcup·妈妈杯·2026妈妈杯
叶子野格28 分钟前
《C语言学习:编程例题》8
c语言·开发语言·c++·学习·算法·visual studio
Java面试题总结29 分钟前
Python 入门(四)- Openpyxl 操作 Excel 教程
开发语言·python·excel