java基础编程题(1)
1、 题目:打印出杨辉三角形(要求打印出10行如下图)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
......
package com.jzq.test1; /**
* 题目:打印出杨辉三角形(要求打印出10行如下图)
* 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
.......
*/
public class question1 {
public static void main(String[] args) {
int[][] arr = new int[10][10];
//最左边和最右边的数为1
for (int i = 0; i < 10; i++) {
arr[i][i] = 1;
arr[i][0] = 1;
}
//上面两个数相加等于下面的数字
for (int i = 2; i < 10; i++) {
for (int j = 1; j < i; j++) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
//打印杨辉三角
for (int i = 0; i < 10; i++) {
//打印空格
for (int j = 0; j < 2 * (10 - i) - 1; j++) {
System.out.print(" ");
}
//打印数组中各个数字
for (int k = 0; k <= i; k++) {
System.out.print(arr[i][k] + " ");
}
System.out.println();
} }
}
2、题目:输入3个数a,b,c,按大小顺序输出。
package com.jzq.test1; import java.util.Scanner; /**
* 题目:输入3个数a,b,c,按大小顺序输出。
*/
public class question2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入3个整数");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
if (a < b) {
int temp = a;
a = b;
b = temp;
}
if (a < c) {
int temp = a;
a = c;
c = temp;
}
if (b < c) {
int temp = b;
b = c;
c = temp;
}
System.out.println("从大到小的顺序输出");
System.out.println(a + " " + b + " " + c);
}
}
3、题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
package com.jzq.test1; import org.junit.Test; import java.util.Scanner; /**
* 题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
*/
public class question3 {
@Test
public void test1() {
int count = 0;
for (int x = 1; x < 5; x++) {
for (int y = 1; y < 5; y++) {
for (int z = 1; z < 5; z++) {
if (x != y && y != z && x != z) {
count++;
System.out.println(x * 100 + y * 10 + z);
}
}
}
}
System.out.println("共有" + count + "个三位数");
}
4、题目:输入某年某月某日,判断这一天是这一年的第几天?
package com.jzq.test1; import java.util.Scanner; /**
* 题目:输入某年某月某日,判断这一天是这一年的第几天?
*/
public class question4 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年,月,日");
System.out.println("年:");
int year = scanner.nextInt();
System.out.println("月:");
int month = scanner.nextInt();
System.out.println("日:");
int day = scanner.nextInt(); int[] months = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int totalDay = 0; if ((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0)) {
months[1] += 1;
}
if (month == 1) {
System.out.println(year + "年" + month + "月" + day + "日是这一年的第" + day + "天");
} else {
for (int i = 0; i < month - 1; i++) {
totalDay += months[i];
}
totalDay += day;
System.out.println(year + "年" + month + "月" + day + "日是这一年的第" + totalDay + "天");
}
}
}
5、题目:判断101-200之间有多少个素数,并输出所有素数。
package com.jzq.test1; /**
* 题目:判断101-200之间有多少个素数,并输出所有素数。
*/
public class question5 {
public static void main(String[] args) {
int count = 0;
for (int i = 101; i < 200; i++) {
if (isRightNum(i)) {
System.out.print(i + " ");
count++;
}
if (count % 10 == 0) {
System.out.println();
}
}
System.out.println("素数的个数为:" + count); } private static boolean isRightNum(int i) {
for (int j = 2; j < Math.sqrt(i); j++) {
if (i % j == 0) {
return false;
}
}
return true;
}
}
6、题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000 以内的所有完数。
package com.jzq.test1; /**
* 题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。
* 例如6=1+2+3.编程找出1000 以内的所有完数。
*/
public class question6 {
public static void main(String[] args) {
for(int i=1;i<1000;i++){
int sum =0;
for(int j=1;j<(i/2+1);j++){
sum += j;
if(sum == i){
System.out.println(i + "是完数");
}
} }
}
}
7、题目:一球从1000 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10 次落地时,共经过多少米?第10次反弹多高?
package com.jzq.test1; /**
* 题目:一球从100 米高度自由落下,每次落地后反跳回原高度的一半;
* 再落下,求它在第10 次落地时,共经过多少米?第10次反弹多高?
*/
public class question7 {
public static void main(String[] args) {
float h = 1000;
float n = 10;
float sum = h;
h /= 2;//第一次下落,弹回到最高点
for (int i = 2; i <= n; i++) {
//i从2开始,是因为在外层已经计算了第一次返回的h
sum += h * 2;
h /= 2;
}
System.out.println("总路径是" + sum + "经过10次后的高度" + h); }
}
8、 题目:输入两个正整数m 和n,求其最大公约数和最小公倍数。
package com.jzq.test1; import java.util.Scanner; /**
* 题目:输入两个正整数m 和n,求其最大公约数和最小公倍数。
*/
public class question8 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入两个数字:");
int m1 = scanner.nextInt();
int n1 = scanner.nextInt();
int m = m1 > n1 ? m1 : n1;
int n = m1 < n1 ? m1 : n1;
int sum = m * n;
while (n != 0) {
int temp = m % n;
m = n;
n = temp;
}
System.out.println("最大公约数" + m);
System.out.println("最小公倍数" + sum / m); }
}
9、题目:利用递归方法求5!。
package com.jzq.test1; /**
* 题目:利用递归方法求5!。
* 递归公式:f(n)=n*f(n-1)
*/
public class question9 {
public static void main(String[] args) {
int start = 5;
int result = factorial(start);
System.out.println(result);
}
public static int factorial(int i){
if(i==1){
return 1;
}
return i*factorial(i-1);
}
}
10、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、正序打印出各位数字。
package com.jzq.test1; import java.util.Scanner; /**
* 题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、正序打印出各位数字。
*/
public class question10 {
public static void main(String[] args) {
System.out.println("输入一个不多于5位的正整数");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int[] arr = new int[5];
int i = 0;
do{
arr[i] = num % 10;
num = num /10;
i++;
}while (num!=0);
System.out.println("输入数字串的是"+i+"位数的");
System.out.println("逆序输出:");
for(int j = arr.length-1;j>=0;j--){
System.out.print(arr[j] + " ");
}
scanner.close();
}
}
java基础编程题(1)的更多相关文章
- java基础编程题练习(一)
1.编程实现用户输入4个整数,按从大到小的顺序排列输出. 思路:将输入的数据存入数组,使用冒泡排序对数组数据进行排序后输出数组 冒泡排序的代码如下: import java.util.Scanner; ...
- java基础编程题练习(二)
1.回文数 思路一:使用java特有解法,将原数字以字符串存储,翻转后赋值给新的字符串变量,再使用equals与原字符串进行对比 import java.util.Scanner; public cl ...
- Java基础编程题——分别统计出其中汉字、英文字母、空格、数字和其它字符的个数
package com.yangzl.basic; import java.util.Scanner; /** * 分别统计出其中汉字.英文字母.空格.数字和其它字符的个数 * @author Adm ...
- java基础编程题
1. 某公司每月标准上班时间是160小时,每小时工资是30元. 如果上班时间超出了160小时,超出部分每小时按1.5倍工资发放.请编写程序计算员工月工资. package com.num2.lianx ...
- Java基础编程题——打印九九乘法表
package com.yangzl.basic; /** * 九九乘法表 * @author Administrator * */ public class Nine_Nine_Multiplica ...
- Java基础编程题——水仙花数
package com.yangzl.basic; /** * 题目:打印出所有的"水仙花数". * 所谓"水仙花数"是指一个三位数, * 其各位数字立方和等于 ...
- Java基础编程题——素数
package com.yangzl.basic; /** * 判断101-200之间有多少个素数,并输出所有素数. * @author Administrator * */ /*程序分析:判断素数的 ...
- java基础编程题(2)
1.给定一个二叉树,找出其最大深度. 注:二叉树的深度为根节点到最远叶子节点的最长路径上的节点数. /** * Definition for a binary tree node. * public ...
- 6、50道JAVA基础编程练习题跟答案
50道JAVA基础编程练习题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
随机推荐
- pandas--排序和排名
排序 要对行或列索引进行排序,可使用sort_index方法,它将返回一个已排序的新对象: Series 1.对Series索引排序 obj=Series(range(4),index=['d','a ...
- Python语法学习记录之tuple该如何使用?
一.介绍 dict 的用法比较简单,它可以存储任意值,并允许是不同类型的值,下面实例来说明: 下面例子中 a 是整数, b 是字符串, c 是数组,这个例子充分说明哈希数组的适用性. 每一个元素是pa ...
- Java——单例模式初步
1.7 单例模式初步 好书推荐:java与模式 1.7.1 什么是设计模式 设计模式是在大量的实践中总结和理论化之后优选的代码结构.编程风格.以及解决问题的思考方式.设计模式就像是经典的棋谱,不同的棋 ...
- Grafana + Influxdb Android性能监控部署
目录 前言 一.前提准备 二.安装 Grafana 三.安装 Influxdb 四.Grafana 添加 Influxdb 数据源 五.Shell 脚本写入数据到 Influxdb 前言 你是否为了数 ...
- javascript追加节点
追加节点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...
- BZOJ 4455: [Zjoi2016]小星星(容斥+树形dp)
传送门 解题思路 首先题目中有两个限制,第一个是两个集合直接必须一一映射,第二个是重新标号后,\(B\)中两点有边\(A\)中也必须有.发现限制\(2\)比较容易满足,考虑化简限制\(1\).令\(f ...
- NX二次开发-UFUN创建球UF_MODL_create_sphere1
NX11+VS2013 #include <uf.h> #include <uf_modl.h> UF_initialize(); //创建球 UF_FEATURE_SIGN ...
- Python sorted list的实现
Python sorted list的实现 具体思路是用二分保list有序+插入 class SortedList(list): K = -1 def __init__(self, K=-1): li ...
- Portainer Exec Container 失败解决方案
近日,将portainer服务挂了个域名,然后用Nginx代理的时候发现不能attach容器了,经过搜索在issue 找到解决方案 1.修改Nginx config server { listen 8 ...
- class10_Frame 框架
最终运行效果图(程序见序号2): #!/usr/bin/env python # -*- coding:utf-8 -*- # ---------------------------------- ...