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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
随机推荐
- 修改ie版本为Edge
<meta http-equiv="X-UA-Compatible" content="IE=Edge"> #以上代码告诉IE浏览器,IE8/9及以 ...
- Shell [[]]详解:检测某个条件是否成立
[[ ]]是 Shell 内置关键字,它和 test 命令类似,也用来检测某个条件是否成立. test 能做到的,[[ ]] 也能做到,而且 [[ ]] 做的更好:test 做不到的,[[ ]] 还能 ...
- python 如何写好main函数
每个程序员在学习编程的过程中,肯定没少写过main()函数,Python程序员也不例外.本文为大家分享Python之父Guido van Rossum推荐的函数写法,可以大大提高这个函数的灵活性. 一 ...
- 0928CSP-S模拟测试赛后总结
依旧跌落.昨天只是偶然诈尸.我依旧是那个第二机房垫底大垃圾. 赛时打的很放松.因为T1想到了正解.对拍也打了.尽管用了大约一半的考试时间. 但是对拍拍了很久没有出错.如果你在2019年9月28日晚一下 ...
- NX二次开发-UFUN遍历函数UF_OBJ_cycle_all
NX11+VS2013 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include < ...
- NX二次开发-UFUN将工程图中的点坐标映射到建模绝对坐标UF_VIEW_map_drawing_to_model
#include <uf.h> #include <uf_ui.h> #include <uf_draw.h> #include <uf_view.h> ...
- C++实现的B树
参考资料:按第一个参考资料构建,代码基本上来自于第二个参考资料 https://www.cnblogs.com/guohai-stronger/p/9225057.html https://www.c ...
- 去掉Word 标题编号变成黑框
问题: 在使用Word编写文档时,提前拟好的标题编号会突然变成黑框(黑色的方框,黑色的矩形),如下图 解决方案: 1.将光标定位到标题中,紧邻黑框的右侧 2.按键盘左方向键使方框变成黑色 3.按键盘的 ...
- C++ 编译过程简介
C/C++程序编译流程: 预处理->编译->汇编->链接 具体的就是: 源代码(source coprede)→预处理器(processor)→编译器(compiler)→汇编程序( ...
- 关于strtok函数
函数原型: char *strtok(char * strToken, const char *strDelimit) 参数说明: strToken:源字符串,即待分割的串 strDelimit:st ...