码农的世界Java 杂谈

【Java编程基本功】(二)水仙花数、分解质因数、条件运算符

2019-03-21  本文已影响0人  suxueJ

好久没有做基础编程题了,现在做起来真的是有一点畅快的感觉,想当初被各种问题虐的死去活来的,现在真的有种满级大号回新手村追杀NPC的感觉。不能乱立flag,要是翻车了就毁了(T▽T),开始我们今天的基础练习~

第六题

打印出所有的 "水仙花数",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为 153=1*1*1+5*5*5+3*3*3。为了显示我的专业水准,还查了一下“水仙花数” 的英文怎么拼 (* ̄︶ ̄)又多学了一个单词,我真是棒棒哒~

代码:

public class DaffodilsNumber {

public static void main(String[] args) {

int a,b,c,sum;

for(int i=100;i<1000;i++){

a=i%10;

b=i/100;

c=(i-b*100)/10;

sum=a*a*a+b*b*b+c*c*c;

if(i==sum){

System.out.println(i);

}

}

}

}

结果是:153、370、371、407

第七题

输入一个正整数分解质因数。如:输入90,输出90=2*3*3*5。

程序的思路:

1.用Scanner实现输入一个正整数n

2.用一个for循环遍历一个从 k=2 开始查找到 k<=n 的数

3.当 n%k==0 的时候,输出 k 的值

4.然后把 n 的值递归一下,即 n=n/k;

5.这个时候要把 for 循环重新执行,即k=2;

代码:

import java.util.Scanner;

public class demo1 {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

System.out.println("请输入一个正整数:");

int n = in.nextInt();

System.out.print(n+"=");

for(int k=2;k<=n/2;k++){

if(n%k==0){

System.out.print(k+"*");

n=n/k;

k=2;

}

}

System.out.print(n);

}

}

第八题:

利用 条件运算符 的嵌套来完成此题:

学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。这里涉及里一个知识点就是条件运算符。不知道的小伙伴抓紧查一下吧~

代码:

public class Grade {

public static void main(String[] args) {

System.out.println("请输入学生成绩:");

Scanner in = new Scanner(System.in);

char s;

while(in.hasNext()){

int n =in.nextInt();

s=n>=90?'A':n>=60?'B':'C';

System.out.println(s);

}

}

}

小伙伴们在编写代码的时候,也要有自己的节奏,要是有的题目不会做了。就跳过去~先做后面简单的,等后面有了自己的想法了。再回来试试~

想学习Java的小伙伴注意啦!我整理了一套从最基础的Java入门级学习到Java框架内容,送给每一位想要学习Java的小伙伴,想要获取资料,可以关注微信公众号“速学Java”哦~这里是小白聚集地,欢迎初学和进阶中的小伙伴~

关注微信公众号:速学Java

上一篇 下一篇

猜你喜欢

热点阅读