本帖最后由 唱一些温暖 于 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();
- }
- }
复制代码 |
|