黑马程序员技术交流社区
标题:
题目:5,6,7
[打印本页]
作者:
唱一些温暖
时间:
2015-12-29 17:30
标题:
题目:5,6,7
本帖最后由 唱一些温暖 于 2015-12-29 18:29 编辑
/* 题目:利用条件运算符的嵌套来完成此题:
* 学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
*/
public class Prog5 {
public static void main(String[] args){
int x=60;
//利用简洁的3元运算符完成,其实就是if(x>=90){'A'}else if(x>=60){'B'}else{'C'}
char ch= x>=90? 'A' : x>=60? 'B' : 'C';
System.out.println(x+"分: "+ch);
}
}
复制代码
//题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
import java.util.Scanner;
public class Prog6 {
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("请输入正整数m:");
int m=in.nextInt();
System.out.println("请输入正整数n:");
int n=in.nextInt();
in.close();
//当N的值大于m时,替换m和n,确保m的值大于等于n
if(n>m){
m=n+m;
n=m-n;
m=m-n;
}
int a=1,b=m*n;
while(a!=0){
a=m%n;
m=n;
n=a;
}
System.out.println("最大公约数为:"+m);
System.out.println("最大公倍数为:"+b/m);
}
}
复制代码
//题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
import java.util.regex.*;
import java.util.Scanner;
public class Prog7 {
public static void main(String[] aegs){
Scanner in=new Scanner(System.in);
System.out.println("输入一行字符串:");
String s=in.nextLine();
in.close();
//打算使用正则表达式获取的功能
//统计中英文字母
int a=count(s,"[a-zA-z]");
System.out.println("字母个数为: "+a);
//统计空格
int b=count(s," ");
System.out.println("空格个数为: "+b);
//统计数字
int c=count(s,"[0-9]");
System.out.println("空格数字为: "+c);
//统计其他字符,除去上面3种的个数就是其他字符的个数
int d=s.length()-a-b-c;
System.out.println("其他字符的个数为: "+d);
}
public static int count(String str,String reg){
//将规则封装成对象
Pattern p=Pattern.compile(reg);
//让正则对象和要作用的字符串相关联,获取匹配器对象
Matcher m=p.matcher(str);
StringBuffer sb=new StringBuffer();
//将规则作用到字符串上,并进行符合规则的字串查找
while(m.find()){
sb.append(m.group());
}
return sb.toString().length();
}
}
复制代码
作者:
houbofly
时间:
2015-12-30 12:17
厉害,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2