java练习之字符串

1,题目描述:

java练习之字符串_第1张图片

//字符比较
import java.util.Scanner;
public class stringdemo1 {
    public static void main(String[] args) {
        String rightName = "zhang";
        String rightNum = "123456";
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < 3; i++) {
            System.out.println("please input name:");//写在循环里
            String name = sc.next();
            System.out.println("please input password");
            String num = sc.next();
            if(name.equals(rightName) && num.equals(rightNum))
            {
                System.out.println("登录成功");
                break;
            }
            else{
                System.out.println("失败,"+"剩余机会为"+(2-i));
            }
        }

    }
}

2,题目描述:

java练习之字符串_第2张图片

//遍历字符串和统计字符个数
import java.util.Scanner;
public class stringdemo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("please input a string:");
        String str = sc.next();
        int bigCount=0;
        int smallCount=0;
        int numCount=0;
        for (int i = 0; i < str.length(); i++) {//注意此处的str.length()与arr.length的区别,
            char c =str.charAt(i);//对字符串的位置进行索引
            if(c >= 'a' && c<='z')
            {
                smallCount++;
            } else if (c>= 'A' && c<='Z') {
                bigCount++;
            }else if(c >='0' && c<='9')
            {
                numCount++;
            }
        }
        System.out.println("大写字母有:"+bigCount);
        System.out.println("小写字母有:"+smallCount);
        System.out.println("数字有"+numCount);
    }
}

3, 字符串逆置

//字符串逆置
import java.util.Scanner;
public class stringdemo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("please input a string");
        String str = sc.next();
        String strRverse = reverse(str);
        System.out.println(strRverse);

    }
    public static String reverse(String str){
        String result = "";
        for (int i = str.length()-1; i >= 0; i--) {
            char c = str.charAt(i);
            result = result + c;
        }
        return result;
    }
}

运行结果: 

please input a string
qwewer
rewewq 

4,把数字转换成大写的:

import java.util.Scanner;
public class stringdemo4 {
    public static void main(String[] args) {
        //1,输入数字
        System.out.println("please input a number:");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        String result ="";
        if(num > 0 && num <9999999)
        {//2,转换成汉字
            while(num!=0){
                int temp = num%10;//模除从右往左获得数字
                num = num/10;//已经获得个位数,所以整除10,相当于num这个数右移一位
                String c = getCaptitalNumber(temp);
                result = c+result;
            }
            System.out.println(result);

            //3,填零
            int count = 7 - result.length();
            for (int i = 0; i < count; i++) {
                result = "零" + result;
            }
            System.out.println(result);
            String s = "";

            //4,插入单位
            String[] str = {"仟","拾","万","仟","百","十","元"};
            for (int i = 0; i < result.length(); i++) {
                char c = result.charAt(i);
                s = s+c+str[i];//字符串拼接
            }
            System.out.println(s);

        }else{
            System.out.println("输入不规范");
        }

    }
    public static String getCaptitalNumber(int num)
    {
        String[] str = {"零","壹","贰","叁","肆","伍","六","柒","玐","玖"};
        return str[num];//根据索引返回对应值
    }
}

 输入:123

输出:


壹贰叁
零零零零壹贰叁
零仟零拾零万零仟壹百贰十叁元
 

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