String的个人简介
1.在java中String用来表示创建和操作字符串。
2.字符串的内容不会发生改变,它的对象在创建后不能被更改
例如:public class Main {
public static void main(String []args) {
String name="77";
String hobby="喜欢睡觉";
System.out.println(name+hobby);
}
}
在此过程中一共有三个字符串,打印出来的结果是在二者拼接的基础上产生了一个新的字符串,并未对原先创建的内容造成改变
3.创建String对象的两种方式
1直接赋值
String name="77";
2使用构造方法,例如:
public String()创建空白字符串
public String (String a)根据传入字符串,创建字符串对象
public String (char[]chs)根据字符数组,创建字符串对象
需要注意的是,当使用第一种创建方式直接赋值的时候,如果该字符串内容已经存在,会继续复用上次的创建。如果不存在,则会创建新的字符串。
字符串的操作
在api中可以查看所有关于String类的方法
这些方法可以帮助更方便的操作字符串
在使用StringBuilder之后,会使得对字符串的操作更加快捷
接下来是一个小练习,把用户输入的七位数字转换成汉字大写
例如778899转换成:零佰柒拾柒万捌仟捌佰玖拾玖元。
大概思路是先接收用户输入的数字,然后进行判断数字是否在合理范围内,如果在,对输入的数字进行赋值。如果不在,提示输入有误。
Scanner sc=new Scanner(System.in);
int money;
while (true) {
System.out.println("请输入金额");
money=sc.nextInt();
if (money>=0&&money<=9999999){
break;
}else {
System.out.println("输入金额范围有误,请重新输入");
}
}
/*在循环中对个位进行取余,添加方法找到对应的大写汉字,然后得到剩下的数字,当剩下的数字被取完,break跳出循环*/
while (true) {
int ge=money%10;
String capitaNumber=getBig(ge);
moneystr=capitaNumber+moneystr;
money=money/10;
if (money==0){
break;
}
}
public static String getBig(int number){
String[]big={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return big[number];
}
/*接下来就是要思考进行补位,把不够七位数字的前面补上零,凑够七位,要补充的零的个数就是7-刚刚获取到大写字符串的长度*/
int count=7-moneystr.length();
for (int i = 0; i < count; i++) {
moneystr="零"+moneystr;
}
/*补位后就是最后一步,插入单位,形成完整的结果
首先就是要定义一个单位字符串的数组,然后对刚刚的插入零后的结果进行遍历,和每一个单位进行拼接,最后进行打印就是最终结果。
最后是完整的代码
import java.util.Scanner;
public class jinezhuanhuanTest {
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<=9999999){
break;
}else {
System.out.println("输入金额范围有误,请重新输入");
}
}
String moneystr="";
while (true) {
int ge=money%10;
String capitaNumber=getBig(ge);
moneystr=capitaNumber+moneystr;
money=money/10;
if (money==0){
break;
}
}
int count=7-moneystr.length();
for (int i = 0; i < count; i++) {
moneystr="零"+moneystr;
}
System.out.println(moneystr);
String[]arr={"佰","拾","万","仟","佰","拾","元"};
String result="";
for (int i = 0; i < moneystr.length(); i++) {
char c=moneystr.charAt(i);
result+=c+arr[i];
}
System.out.println(result);
}
public static String getBig(int number){
String[]big={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return big[number];
}
}
```
因为没有StringBuilder所以部分操作显得略微繁琐,因为我还没有学到这个