java基础习题50道(一)
来源:互联网 发布:windows 注册服务 编辑:程序博客网 时间:2024/05/29 04:03
/*題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一
对兔子,假如兔子都不死,问每个月的兔子总数为多少?*/
public class Demo1{
public static void main(String[] args){
int n = 10;
System.out.println("第"+n+"个月兔子总数为"+fun(n));
}
private static int fun(int n){
if(n==1 || n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}
}
package com.oracle.day161105_java50;
//判断101-200之间有多少个素数,并输出所有素数。
//程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),
//如果能被整除,则表明此数不是素数,反之是素数。
public class Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("素数有:");
for(int i=101;i<=200;i++){
if(i%2==0){
System.out.print(i+"\t");
}
}
}
}
package com.oracle.day161105_java50;
/*【程序3】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
*/
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("水仙花数有:");
for(int i=100;i<1000;i++)
{
int unit,ten,hundred;
hundred=i/100;
ten=(i-hundred*100)/10;
unit=i-hundred*100-ten*10;
if(i==unit*unit*unit+ten*ten*ten+hundred*hundred*hundred)
{
System.out.print(i+"\t");
}
}
}
}
package com.oracle.day161105_java50;
/*
* 【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
* */
import java.util.*;
public class Demo4{
public static void main(String[] args){
System.out.println("请输入一个正整数:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
System.out.print(n+"=");
for(int i=2;i<n+1;i++){
while(n%i==0 && n!=i){
n/=i;
System.out.print(i+"*");
}if(n==i){
System.out.println(i);
break;
}
}
}
}
package com.oracle.day161105_java50;
/*
* 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,
* 60-89分之间的用B表示,60分以下的用C表示。
程序分析:(a>b)?a:b这是条件运算符的基本例子。
* */
import java.util.*;
public class Demo5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入你的Java成绩:");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n>=90){
System.out.println("你的成绩评为:A");
}else if(n>60 && n<90){
System.out.println("你的成绩评为:B");
}else{
System.out.println("你的成绩评为:C");
}
}
}
- java基础习题50道(一)
- java基础习题50道(二)
- java基础习题50道(三)
- java基础习题50道(四)
- java基础习题50道(五)
- java基础习题50道(六)
- java基础习题50道(七)
- java基础习题50道(八)
- java基础习题50道(九)
- java基础习题50道(十)
- Python基础习题(一)
- Java经典习题(一)
- MySQL基础习题锻炼(一)
- Java基础——【习题一】流程控制练习题
- Java基础习题(附答案)
- java基础习题
- Java基础部分习题
- 一些基础Java习题
- H
- android默认的设置修改
- mysql优化
- Android BLE蓝牙4.0开发—Android手机与BLE终端通信
- SPRING 事务控制 (PROPAGATION_NESTED)
- java基础习题50道(一)
- bzoj3196 Tyvj 1730 二逼平衡树 线段树套treap
- 数学: HDUCo-prime
- java中的包装类
- 文件的上传和下载
- Dubbo入门---搭建一个最简单的Demo框架
- springmvc的RedirectAttributes使用方式
- Ubuntu上搭建Git服务器
- Elasticsearch5.2.0离线安装bigdesk