编程合集: https://www.cnblogs.com/jssj/p/12002760.html

Java总结:https://www.cnblogs.com/jssj/p/11146205.html

【程序1】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?

import java.util.Scanner;

/**
* 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?
* 分析 一月 1对, 2月 1对,3月 2对,4月 3对,5月5对,6月8对,7月13对,8月 21只
*/
public class Subject1 { public static void main(String[] args) {
System.out.print("请输入你想知道的兔子数量的月份:"); Scanner scanner=new Scanner(System.in); int n=scanner.nextInt();//获取输入的整数 System.out.println(test(n)); System.out.println(fun(n)); scanner.close();
} /**
* 菜鸟写法
* @param i
* @return
*/
public static int test(int i){
int tot = 0;
int a = 0;
int b = 1;
for(int j = 0;j<i; j++){
tot = a+b;
a = b;
b = tot;
}
return a;
} /**
* 大神写法
* @param
* @return
*/
private static int fun(int n){
if(n==1 ||n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}
}

运行结果:

【程序2】
题目:判断101-200之间有多少个素数,并输出所有素数。

/**
* 【程序2】
* 题目:判断101-200之间有多少个素数,并输出所有素数。
*
* 分析:什么是素数,不能被自己和1整除的数。
*/
public class Subject2 {
public static void main(String[] args) {
getPrimeNumber(101,200);
} /**
* 判断a和b之间有多少个素数
* @param a
* @param b
*/
public static void getPrimeNumber(int a,int b){
int sum = 0;
if(a >= b){
System.out.println("a不能大于等于b!");
}
System.out.print("素数:");
for(int i=a;i<=b;i++){
if(isPrimeNumber(i)){
sum += 1;
System.out.print(i+" ");
}
}
System.out.println();
System.out.println("存在素数数量:"+sum);
} /**
* 判断num是否是一个素数
* @param i
* @return
*/
private static boolean isPrimeNumber(int i) {
boolean flag = true;
for(int j=2;j <= i/2;j++){
if(i%j == 0){
flag = false;
break;
}
}
return flag;
}
}

运行结果:

【程序3】
题目:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

/***
* 【程序3】
* 题目:打印出所有的”水仙花数”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
*/
public class Subject3 {
public static void main(String[] args) {
for(int i= 100 ; i<=999;i++){
if(isNarcissus(i)){
System.out.println("水仙花数:"+i);
}
}
} public static boolean isNarcissus(int a){ int num1 = 0; //个位
int num2 = 0; //十位
int num3 = 0; //百位
num3 = a/100;
num2 = (a - num3*100)/10;
num1 = a - num3*100 - num2*10; if(Math.pow(num1,3) + Math.pow(num2,3) + Math.pow(num3,3) ==a){
return true;
}
return false;
}
}

运行结果:

【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

/**
* 【程序4】
* 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
*/
public class Subject4 {
public static void main(String[] args) {
System.out.print("请输入需要分解因数的整数:");
Scanner scanner=new Scanner(System.in);
int a = scanner.nextInt();//获取输入的整数
decompose(a);
} /**
* 分解质因数
* @param num
* @return
*/
public static void decompose(int num){
int tmp = num/2;
for(int i=2;i <= tmp ;i++){
if(num%i == 0){
num = num/i;
System.out.println("质因数为:"+i);
i=1;
continue;
}
}
}
}

运行结果:

【程序5】
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

/**
* 【程序5】
* 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
*/
public class Subject5 {
public static void main(String[] args) {
System.out.println("请输入学生成绩:");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
String result = a>=90? "A" : (60<=a && a<90? "B" :"C");
System.out.println("该学生的最终评级为:"+result);
}
}

运行结果:

【程序6】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

import java.util.Scanner;

/**
* 【程序6】
* 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
*/
public class Subject6 {
public static void main(String[] args) {
System.out.println("请输入第一个正整数:");
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
System.out.println("请输入第二个正整数:");
int b = scanner.nextInt();
int maxCommonDivisor = maxCommonDivisor(a,b);
System.out.println("最大公约数:"+ maxCommonDivisor);
int minCommonMultiple = (a*b)/maxCommonDivisor;
System.out.println("最小公倍数:"+ minCommonMultiple);
scanner.close();
} /**
* 获取num1和num2的最大公约数
* @param num1
* @param num2
* @return
*/
public static int maxCommonDivisor(int num1,int num2){
int result = 1;
int tmp = num1>num2? num2 :num1;
for (int i = 2; i <= tmp; i++) {
if(num1%i == 0 && num2%i == 0){
result = i*result;
num1 = num1/i;
num2 = num2/i;
i=1;
}
}
return result;
}
}

运行结果:

【程序7】
题目:输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数。

import java.util.Scanner;

/**
* 【程序7】
* 题目:输入一行字符,分别统计出其英文字母、空格、数字和其它字符的个数。
*/
public class Subject7 {
public static void main(String[] args) {
System.out.println("请输入字符串:" );
Scanner scanner=new Scanner(System.in);
scanner.useDelimiter("\n");
String tmpStr = scanner.next();
classify(tmpStr);
} public static void classify(String str){
char[] strArr = str.toCharArray();
int num1 = 0; //字母
String num1Str = "";
int num2 = 0; //数字
String num2Str = "";
int space = 0; //空格
String spaceStr = "";
int other = 0; //其他
String otherStr = "";
for (int i = 0; i < strArr.length ; i++) {
int ascii = (int)strArr[i];
if( 48<= ascii && ascii <= 59){
num2 = num2 + 1;
num2Str = num2Str +strArr[i] +" ";
}else if(ascii == 32){
space = space +1;
}else if((65<= ascii && ascii <= 90) || (97 <= ascii && ascii <= 122)){
num1 = num1 + 1;
num1Str = num1Str +strArr[i] +" ";
}else{
other = other + 1;
otherStr = otherStr +strArr[i] +" ";
}
}
System.out.println("存在字母个数:" + num1);
System.out.println("存在字母如下:" + num1Str); System.out.println("存在数字个数:" + num2);
System.out.println("存在数字如下:" + num2Str); System.out.println("存在空格个数:" + space); System.out.println("存在其他个数:" + other);
System.out.println("存在其他如下:" + otherStr); }
}

运行结果:

【程序8】
题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。输出结果的形式如:2+22+222=246;

import java.math.BigDecimal;
import java.util.Scanner; /**
* 【程序8】
* 题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。输出结果的形式如:2+22+222=246;
*/
public class Subject8 {
public static void main(String[] args) {
System.out.println("请输入数字1(小于10):" );
Scanner scanner=new Scanner(System.in);
int a = scanner.nextInt();
System.out.println("请输入数字2(1-10):" );
int b = scanner.nextInt();
sum(a,b);
} /**
* 求和
* @param num1
* @param num2
*/
public static void sum(int num1,int num2) {
String numStr = "";
String result = "";
BigDecimal bigDecimal = new BigDecimal("0");
for(int i=0;i< num1; i++ ){
numStr = numStr+num2;
if(i==0){
result = result+numStr;
}else{
result = result+"+"+numStr;
}
bigDecimal = bigDecimal.add(new BigDecimal(numStr));
}
result = result +"=" +bigDecimal.toString();
System.out.println("结果:"+result);
}
}

运行结果:

【程序9】
题目:一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数。

import java.util.ArrayList;
import java.util.List; /***
* 【程序9】
* 题目:一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数。
*/
public class Subject9 {
public static void main(String[] args) {
for (int i = 0; i <1000 ; i++) {
perfectNum(i);
}
} /**
* 判断是否是完数
*/
public static void perfectNum(int num){
List<Integer> list = decompose(num);
int sum = 0;
for(int i :list){
sum = sum + i;
}
if(num == sum && num != 1){
System.out.println("完数:"+num);
}
} /**
* 分解质因数
* @param num
* @return
*/
public static List decompose(int num){
List<Integer> list = new ArrayList();
list.add(1);
int tmp = num/2;
for(int i=2;i <= tmp ;i++){
if(num%i == 0){
list.add(i);
continue;
}
}
return list;
}
}

运行结果:

【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;n次落地经过路线总长度和下次反弹的高度。

import java.util.Scanner;

/**
* 【程序10】
* 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;n次落地经过路线总长度和下次反弹的高度。
*/
public class Subject10 { public static void main(String[] args) {
System.out.println("请选择第几次落地:");
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
sumLength(n);
} public static void sumLength(int n){
double height = 100;
double sumLength = 0;
for(int i=1; i<=n; i++){
if(i==1){
sumLength = sumLength + height;
}else{
sumLength = sumLength + height*2;
}
height = height/2;
}
System.out.println("总运动距离为:"+sumLength);
System.out.println("反弹高度为:"+height);
}
}

运行结果:

参考:https://blog.csdn.net/zzzzzzzhu/article/details/82355001

《Java练习题》习题集一的更多相关文章

  1. 《Java练习题》Java编程题合集(全)

    前言:不仅仅要实现,更要提升性能,精益求精,用尽量少的时间复杂度和空间复杂度解决问题. 初学者: <Java练习题>习题集一   https://www.cnblogs.com/jssj/ ...

  2. 《Java练习题》习题集五

    编程合集: https://www.cnblogs.com/jssj/p/12002760.html Java总结:https://www.cnblogs.com/jssj/p/11146205.ht ...

  3. 《Java练习题》习题集二

    编程合集: https://www.cnblogs.com/jssj/p/12002760.html Java总结:https://www.cnblogs.com/jssj/p/11146205.ht ...

  4. 《Java练习题》习题集三

    编程合集: https://www.cnblogs.com/jssj/p/12002760.html Java总结:https://www.cnblogs.com/jssj/p/11146205.ht ...

  5. 《Java练习题》习题集四

    编程合集: https://www.cnblogs.com/jssj/p/12002760.html Java总结:https://www.cnblogs.com/jssj/p/11146205.ht ...

  6. java 练习题

    题目:想控制台输1-3个整数,按顺序为年,月,日.#号键结束输入.若输入一个整数,则为年份,程序判断是闰年还是平年:若输入两个整数,则为年份和月份,程序将输出该年的月份的天数:若输入3个整数:则为年, ...

  7. Java练习题

    1.实现一个类似于ConcurrentHashMap的分段加锁 import java.util.HashMap; import java.util.Map; import java.util.con ...

  8. [Java练习题] -- 1. 使用java打印杨辉三角

    package cn.fzm.demo1.array; import java.util.Scanner; /* * 需求:打印杨辉三角形(行数可以键盘录入) 1 1 1 1 2 1 1 3 3 1 ...

  9. 2018宁夏邀请赛网赛 I. Reversion Count(java练习题)

    题目链接 :https://nanti.jisuanke.com/t/26217 Description: There is a positive integer X, X's reversion c ...

随机推荐

  1. python_09

    今日内容: scrapy各组件 Components: 1.引擎(EGINE) 引擎负责控制系统所有组件之间的数据流,并在某些动作发生时触发事件.有关详细信息,请参见上面的数据流部分. 2.调度器(S ...

  2. 【翻译】全球用尽IPv4的一点思考

    作者:Dimple 公众号:奔跑吧攻城狮 简介:专属于Java和Android开发,和你聊聊职场话题,一同展望未来 作为小小号主的我表示很无力啊,这几天,天天都是热点.前有网易员工勇敢发声维护自己的利 ...

  3. 小程序api的promise封装

    微信小程序和支付宝小程序的api封装方法是一样的,都是外部新建一个js,使用module.exports导出,要注意的是,最好使用post请求,虽然get请求没什么不好,主要是好修改.这里使用的MD5 ...

  4. htm&css 颜色的浮动

    目标样式 目标分析: 由图可知,整个色板可以分为三块 可以理解为一个大的盒子包含了三个小的盒子,定义如下 LEFT的定义方式 TOP的定义方式 class为bottom的块最为复杂,但分析方法也是异曲 ...

  5. C语言基础 -- 变量

    常用变量类型 ​​ 地址 小端 低地址保存低位,高地址保存高位 常用于 PC(复杂指令集) 大端 低地址保存高位,高地址保存低位 常用于 ARM/手机/网络(精简指令集)

  6. 对 /langversion 无效;必须是 ISO-1、ISO-2、3、4、5 或 Default

    反编译或者.net用更高版本打开时会出现这个问题,解决办法如下: 1.网页版程序,将解决方案中的Web.config中的 /langversion 的值改为指定的值,既可以解决,我这里采用的是默认值, ...

  7. 【Android - 自定义View】之View的事件分发机制

    参考资料: View事件分发:http://blog.csdn.net/pi9nc/article/details/9281829 ViewGroup事件分发:http://blog.csdn.net ...

  8. 02-kubeadm初始化Kubernetes集群

    目录 部署 组件分布 部署环境 kubeadm 步骤 基础环境 基础配置 安装基础组件 配置yum源 安装组件 初始化 master 导入镜像 执行命令: 查看组件状态 查看node状态 安装flan ...

  9. 计算机通过远程连接登录windows虚拟机具体配置流程

    1.打开一台windows虚拟机右击开始,选择——计算机———属性 2.点击允许运行任意版本远程桌面虚拟机连接,点击确定 3.打开服务管理器——用户,如图我一会要用”lisi“用户远程登录此虚拟机 4 ...

  10. 《Windows内核安全与驱动开发》 3.1 字符串操作

    <Windows内核安全与驱动开发>阅读笔记 -- 索引目录 <Windows内核安全与驱动开发> 3.1 字符串操作 一.字符串的初始化 1. 判断下列代码为什么会蓝屏? U ...