2020.12.2
2020.12.2
1.课后习题
(1)从键盘上输入任意个任意字母,统计元音字母a、e、i、o、u共出现多少次
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("请输入字母:");
String input=sc.nextLine();
String inputs[]=input.split("");
int a=0;
int e=0;
int i=0;
int o=0;
int u=0;
for (int j = 0; j < inputs.length; j++) {
String str=inputs[j];
if (str.equals("a")) {
a++;
}else if (str.equals("e")) {
e++;
}else if (str.equals("i")) {
i++;
}else if (str.equals("o")) {
o++;
}else if (str.equals("u")) {
u++;
}
}
System.out.println("a:"+a);
System.out.println("e:"+e);
System.out.println("i:"+i);
System.out.println("o:"+o);
System.out.println("u:"+u);
}
}
(2)从键盘上输入一个用户名,验证用户名是否合法并输出
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("请输入用户名:");
String name=input.next();
int underlinIndex=name.indexOf("_");
if (name.length()<=6 || name.length()>=20) {
System.out.println("用户名长度不合法,合法的长度是6到20之间");
return;
}
if (name.charAt(0)<65 || name.charAt(0)>90) {
System.out.println("用户名不合法,必须以大写字母开头");
return;
}
if (underlinIndex==-1) {
System.out.println("用户名不合法,必须有_");
return;
}
boolean digit=false;
char[] ch = name.toCharArray();
for (int i = 0; i < ch.length; i++) {
if (ch[i]>48 && ch[i]<57) {
digit = true;
}
}
if (!digit) {
System.out.println("用户名不合法,必须包含数字");
return;
}
System.out.println("用户名合法");
}
}
(3)统计汉字的个数和英文字母的个数分别是多少
public static void main(String[] args) {
// TODO Auto-generated method stub
Third("迭戈马拉多纳football");
}
public static void Third(String s) {
int countChinese=0;
int countEnglish=0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i)>=65 && s.charAt(i)<=90 ||s.charAt(i)>=97 &&s.charAt(i)<=122) {
countEnglish++;
}
if (s.charAt(i)>=Integer.parseInt("4e00",16) && s.charAt(i)<=Integer.parseInt("9fa5",16)) {
countChinese++;
}
}
System.out.println("English:"+countEnglish);
System.out.println("Chinese:"+countChinese);
}
}
(4)检测用户输入的单词是否是回文单词。所谓回文单词指单词倒过来与原单词一样,比如“level”、“pop”、“noon”都是回文单词
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
System.out.println("请输入一个单词:");
String str=input.next();
char ch[]=str.toCharArray();
boolean flag=true;
for (int i = 0,j = ch.length-1; i<ch.length/2;i++, j--) {
if (ch[i]!=ch[j]) {
flag = false;
break;
}
}
if (flag) {
System.out.println("yes");
}else {
System.out.println("no");
}
}
}
(5)过滤不文明词汇
public static void main(String[] args) {
String source = "天气太hot,食物都放坏了,我昨天就吃了一个坏蛋黄派,真是Stupid啊,怎么能这么STUPID呢?";
String word = "笨蛋,坏蛋,stupid,TMD,TNND".toUpperCase();
String words[] = word.toUpperCase().split(",");
boolean isGood;
do {
isGood = true;
for (int i = 0; i < words.length; i++) {
int pos = source.toUpperCase().indexOf(words[i]);
if (pos != -1) {
int length = words[i].length();
source = source.substring(0, pos) + "****" + source.substring(pos + length);
isGood = false;
}
}
} while (!isGood);
System.out.println(source);
}
}
(6)编写一个函数实现字符串倒置,用键盘输入一个字符串,调用函数输出结果
public static void main(String[] args) {
// TODO Auto-generated method stub
reverse("123456789");
}
public static void reverse(String str) {
for (int i = str.length()-1;i>=0; i--) {
System.out.print(str.charAt(i));
}
}
}
(7)编写一个求字符串长度的函数。完成字符串中length()的功能
public static void main(String[] args) {
// TODO Auto-generated method stub
int length= getStringLength("1234567891011111");
System.out.println(length);
}
public static int getStringLength(String str) {
return str.toCharArray().length;
}
}
2.字符串格式化
格式符 | 说明 | 示例 |
---|---|---|
%s | 字符串类型 | “武松” |
%c | 字符类型 | ‘m’ |
%b | 布尔类型 | false |
%d | 整数类型(十进制) | 100 |
%x | 整数类型(十六进制) | FF |
%o | 整数类型(八进制) | 77 |
%f | 浮点类型 | 99.99 |
- 在java中要连接不同类型的数据,将结果变成一个字符串,可以使用加号,也可以使用字符串格式化。
- 字符串格式化其实就是将不同类型的数据连接成一个字符串。
- String类的format()方法用于创建格式化的字符串以及连接多个字符串对象
3.字符串与基本类型的转换
- 为什么需要字符串与基本类型的转换?
- String转基本类型
编写代码时,整型使用int
源代码编译成字节码时,int被自动编译成Integer对象
我们称Integer类为int类的包装类,java其他7个基本类型也有包装类,如下表所示:
基本类型 | 包装类 | 方法名称 | 作用 |
---|---|---|---|
boolean | Boolean | parseBoolean(String) | 将字符串转换为boolean型 |
byte | Byte | parseByte(String) | 将字符串转换为byte型 |
short | Short | parseShort(String) | 将符串转换为short型 |
int | Integer | parseInt(String) | 将字符串转换为int型 |
long | Long | parseLong(String) | 将字符串转换为long型 |
float | Float | parseFloat(String) | 将字符串转换为float型 |
double | Double | parseDouble(String) | 将字符串转换为double型 |
评论留言