A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HEY、baby 中级黑马   /  2015-8-24 23:27  /  758 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目4;将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5.
import java.util.Scanner;
public class demo01 {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个正整数:");
               
                int n = sc.nextInt();
                int k = 2;
                System.out.print(n+"=");
               
                while(k<=n){
                        if(k==n){
                                System.out.print(n);
                                break;
                        }else if(n%k==0){
                                System.out.print(k+"*");
                                n=n/k;
                        }else{
                                k++;
                        }
                }
        }       
}
题目5:利用条件运算符的嵌套来完成此题目:学习成绩>=90分的同学用A表示,60-89分之间用B表示,60分以下的用C表示。
import java.util.Scanner;
class demo01{
        public static void main(String[] args) {
                int x;
                char grade;
               
                Scanner s = new Scanner(System.in);
                System.out.println("请输入一个成绩");
               
                x=s.nextInt();
                grade = x >= 90 ? 'A' : x >= 60 ? 'B' : 'C';
                System.out.println("等级为:"+grade);
        }
}
题目6:输入两个正整数m和n,求其最大公约数和最小公倍数。
import java.util.Scanner;
class demo01{
        public static void main(String[] args) {
                int a,b,m;
                Scanner sc = new Scanner(System.in);
                System.out.println("键入一个整数:");
                a = sc.nextInt();
                System.out.println("在键入一个整数:");
                b = sc.nextInt();
                deff cd = new deff();
                m = cd.deff(a,b);
                int n = a*b/m;
                System.out.println("最大公约数:"+m);
                System.out.println("最小公约数:"+n);
        }
}
class deff{
        public int deff(int x,int y){
                int t;
                if(x<y){
                        t = x;
                        x = y;
                        y = t;
                }
                while(y!=0){
                        if(x==y)
                                return x;
                        else{
                                int k = x % y;
                                x = y;
                                y = k;
                        }
                }
                return x;
        }
}

点评

我并不喜欢用grade = x >= 90 ? 'A' : x >= 60 ? 'B' : 'C';这种代码,这种代码虽然看着短,但是难以维护。  发表于 2015-8-25 08:06

8 个回复

倒序浏览
这些题都是哪里找的啊 我一直想找一些题做做
回复 使用道具 举报
抢占第一个沙发,啦啦啦。
回复 使用道具 举报
原来我比你还多一个黑马币呢!刚兑换的,有8个技术分了。平级
回复 使用道具 举报
mark标记一下
回复 使用道具 举报
来过  顶一个  加油!
回复 使用道具 举报
窗外的雪儿飞 来自手机 中级黑马 2015-8-24 23:41:08
7#
赞一个,算法挺好,已留存
回复 使用道具 举报
好,太好了!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马