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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
随机推荐
- JMeter学习篇(一):测试实例讲解
1.JMeter的下载与安装 Jmeter官方下载地址:http://jmeter.apache.org/download_jmeter.cgi,下载jmeter是一个zip压缩包,解压后,直接运行a ...
- 【学术篇】SPOJ FTOUR2 点分治
淀粉质入门第一道 (现在个人认为spoj比bzoj要好_(:з」∠)_ 关于点分治的话推荐去看一看漆子超的论文>>>这里这里<<< 之前一直试图入点分治坑, 但是因 ...
- codeforces 24d Broken robot 期望+高斯消元
题目传送门 题意:在n*m的网格上,有一个机器人从(x,y)出发,每次等概率的向右.向左.向下走一步或者留在原地,在最左边时不能向右走,最右边时不能像左走.问走到最后一行的期望. 思路:显然倒着算期望 ...
- flink idea 打包jar 并放到集群上运行
flink idea 打包jar 并放到集群上运行 在开始之前注意前提,当前项目的scala的版本要和集群上的scala一致 我已经创建好一个wordCount的flink项目 注意项目的po ...
- Shell [[]]详解:检测某个条件是否成立
[[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立. test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好:test 做不到的,[[ ]] 还能 ...
- Zabbix-server及zabbix-web安装手册(centos7)
注:本实验环境在centos7mini下实验,具体相关软件版本最好一致,避免依赖关系缺失. 当然也可以新建用户zabbix(不使用root,避免安全隐患),在zabbix下执行操作,加sudo提升权限 ...
- 使用multiprocessing模块创建进程
#_author:来童星#date:2019/12/17from multiprocessing import Processimport timeimport os#两个子进程将会调用的两个方法de ...
- ASCII 对应表
{ Bin (二进制) Oct (八进制) Dec (十进制) Hex (十六进制) 缩写/字符 解释 0000 0000 00 0 0x00 NUL(null) 空字符 0000 0001 01 1 ...
- magento 跳转
Magento: Redirect functions 原文:http://blog.chapagain.com.np/magento-redirect-functions/ The redirect ...
- CSS案例2(一个简单的新闻网页)
知识点: 1.一般网页不用纯黑,用淡灰色 3c3c3c 2.text-align: center; /* 文字水平居中 */ 3.font-weight: normal; /* 清除加粗效果 ...