1、输入任意字符串,输出其中的大写字母。
package javase;
import java.util.Scanner;
public class day02 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("请输入任意字符串:");
String str = s.nextLine();
System.out.print("其中的大写字母为:");
for (int i = 0; i <str.length(); i++) {
String ch = str.charAt(i)+"";
if (ch.matches("[A-Z]")) {
System.out.print(str.charAt(i));
}
}
}
}
运行结果:
请输入任意字符串:csdcvADS
其中的大写字母为:ADS
总结:
- matches()方法是完全匹配,即整个字符串必须匹配该正则表达式
- find()方法是部分匹配,即在整个字符串中,寻找匹配该正则表达式的子字符串序列,只要找到这样的子字符串,即返回true。
扩展:
String str=“ABC”;
str = str.toLowerCase();//转换为小写
str = str.toUpperCase();//转化为大写
char ch = (char) (ch + 32);
//根据ASCII码,大写字母变为小写字母只需要+32即可
if (ch.matches("[A-Z]"))等价于:
- if (ch >97 || ch <122)
- if (ch >‘A’|| ch < ‘Z’)
2、输入两个字符串,输出其共同前缀。
package javase;
import java.util.Scanner;
public class day02 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Enter s1:");
String s1=input.nextLine();
System.out.print("Enter s2:");
String s2=input.nextLine();
String s3="";
int min=Math.min(s1.length(),s2.length());
for(int i=0;i<min;i++){
if(s1.charAt(i)==s2.charAt(i)){
s3=s3+s1.charAt(i);
}
else {
break;
}
}
System.out.print(s3.length()>0?("共同前缀为:"+s3):"没有共同前缀");
}
}
运行结果:
Enter s1:hbjcbjdsbc bjhjchd
Enter s2:hbjchbdsbcbhchsdc bjk
共同前缀为:hbjc
总结:
charAt(int index)方法是一个能够用来检索特定索引下的字符的String实例的方法。
- charAt()方法返回指定索引位置的char值。索引范围为0~length()-1.
- 如: str.charAt(0)检索str中的第一个符,str.charAt(str.length()-1)检索最后一个字符.
两个字符串进行比较后取最小长度作为循环结束条件,减少了不必要的循环,提高效率。
3、输入任意三个数,判断其是否可以构成三角形。
package javase;
import java.util.Scanner;
public class day03 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Enter three numbers:");
double number1=input.nextDouble();
double number2=input.nextDouble();
double number3=input.nextDouble();
if(number1+number2>number3&&number1+number3>number2&&number3+number2>number1&&number1>0&&number2>0&&number3>0) {
System.out.print("This is a triangle");
}
else {
System.out.print("This is not a triangle");
}
}
}
运行结果:
Enter three numbers:3 4 5
This is a triangle
总结:
- 针对Scanner类的方法
- 下一个double类型的输入
- 从Scanner的输入流,读取一个字符串,并假设这个字符串符合数字格式,然后将它转换成双精度的浮点数比如输入是字符串"12.9"那么返回值就应该是double类型的 12.9