Java基础之——字母大小写转换

案例:

  要求从控制台接收用户输入的一个字母,如果这个字母是小写,转换为大写;如果这个字母是大写,转换为小写;只能输入字母,如果是其他值,提示数据有误!


实现代码:

import java.util.Scanner;

/**
 * 常见字母大小写转换
 * 原理:
 *     字符char采用的是Unicode编码的16位字符类型,其表示范围是0-65536。标准的8位ASCII字符集是Unicode
 *     的子集,其取值范围为0-127。大小写字母之间正好相差32
 * @author Administration
 *
 */
public class WordChange {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入您需要转换的字母:");
        char c = input.next().charAt(0);
        change(c);
    }

    private static void change(char c) {
        //如果输入的是大写,+32即可得到小写
        if(c>='A' && c<='Z'){
            c+=32;
            System.out.println("您输入的大写字母"+(char)(c-32)+"被转换成了"+c);
        }else if(c>='a' && c<='z'){    //如果输入的是小写,-32即可得大小写
            c-=32;
            System.out.println("您输入的小写字母"+(char)(c+32)+"被转换成了"+c);
        }else{
            System.out.println("输入的字符有误!!");
        }
    }
}

原理分析:

  字符char采用的是Unicode编码的16位字符类型,其表示范围是0-65536。标准的8位ASCII字符集是Unicode 的子集,其取值范围为0-127。大小写字母之间正好相差32

//ChangeRMB.java /** * * programmed by HuangHeliang * 2009.04.15 10:20:51 * */ //package com.avtech.hhl; import java.io.*; public final class ChangeRMB { //每个数字对应的大写 private static final String[] num = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖", }; //从低到高排列的单位 private static final String[] bit = { "圆", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿" }; //金额里面的角和分 private static final String[] jf={ "角","分" }; /** * 处理金额的整数部分,返回"...圆整" * @param integer * @return String * @throws Exception */ public static String praseUpcaseRMB(String integer)throws Exception{ StringBuilder sbdr=new StringBuilder(""); int j=integer.length(); if(j>bit.length){ throw new Exception("\n只能处理亿万亿以内的数据(含亿万亿)!"); } char[] rmb=integer.toCharArray(); for (int i = 0; i 壹佰亿陆仟伍佰万肆仟伍佰捌拾叁圆零伍分 */ if(bit[bitLocate].equals("仟")){ String s=sbdr.toString(); if(!s.endsWith(bit[bitLocate+1]) && s.length()>0){ if (s.endsWith(num[0])) { sbdr.deleteCharAt(sbdr.length() - 1); } sbdr.append(bit[bitLocate+1]); } } sbdr.append(num[numLocate]); sbdr.append(bit[bitLocate]); }//end for /* * 去掉结尾"零"后,补全 */ if(sbdr.toString().endsWith(num[0])){ sbdr.deleteCharAt(sbdr.length()-1); sbdr.append("圆整"); }else{ sbdr.append("整"); } return sbdr.toString(); } /** * 处理带小数的金额,整数部分交由上一个方法处理,小数部分自己处理 * @param integer * @param decimal * @return String * @throws Exception */ public static String praseUpcaseRMB(String integer, String decimal)throws Exception{ String ret=ChangeRMB.praseUpcaseRMB(integer); ret=ret.split("整")[0]; //处理整数部分 StringBuilder sbdr=new StringBuilder(""); sbdr.append(ret); char[] rmbjf=decimal.toCharArray(); for(int i=0;i rmbDouble){ theInt-=1; } double theDecimal=rmbDouble-theInt; String integer=new Long((long)theInt).toString(); String decimal=""+Math.round(theDecimal*100); if(decimal.equals("0")){ result=ChangeRMB.praseUpcaseRMB(integer); }else{ result=ChangeRMB.praseUpcaseRMB(integer, decimal); } return result; } public static void main(String[] args) throws Exception{ System.out.print("输入小写人民币金额:"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String in = br.readLine(); String result=ChangeRMB.doChangeRMB(in); System.out.println("\n"+"------------转换结果------------"); System.out.println(result); double d=54628569856.68; String ret=ChangeRMB.doChangeRMB(d); System.out.println("\n"+"------------转换结果------------"); System.out.println(ret); } }
Java中,可以使用String类的toUpperCase()方法将小写字符串转换为大写。例如,如果有一个名为str的字符串变量,可以使用以下代码将其转换为大写字符串: String str = "hello"; String upperCaseStr = str.toUpperCase(); 这将把"hello"转换为"HELLO"。\[1\]另外,如果你在项目中使用了commons-lang这个包,你也可以使用它提供的方法来实现字符串大小写转换。你可以从http://commons.apache.org/proper/commons-lang/download_lang.cgi下载这个包。\[1\]在commons-lang中,你可以使用WordUtils类的swapCase()方法来实现字符串大小写转换。\[3\]但是请注意,这个方法是基于单词的算法,如果你只是想简单地将整个字符串的大小写转换,使用String类的toUpperCase()方法会更简单和高效。 #### 引用[.reference_title] - *1* *3* [java中把一个字符串中大写字母转换为小写,小写字母转换为大写](https://blog.csdn.net/qq_18237141/article/details/113936925)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [java将字符串中大写字母转换成小写将小写转换成大写](https://blog.csdn.net/weixin_53420085/article/details/116496827)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值