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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
随机推荐
- 如何恢复误删的OneNote页面
今天不小心把半个月的日记删掉了!(为了减少页面数量,每个月的日记会放在同一个页面上). 幸运的是OneNote有自动备份功能,喜极而泣. 操作方法来自微软支持 打开丢失了最近笔记的笔记本. 单击“文件 ...
- windows server 常用功能(一)
最近做了一个windows server 2016的环境,也遇到了很多问题,作为一个新手,又没有很好的记录下解决方案,因为写这篇文章的时间有点晚,因此只能留下一些思路以供参考. 1.作为一个serve ...
- C#常用设计模式
1.单例模式 单例模式恐怕是很多开发人员最先接触到的模式之一,可以认为就是一个全局变量.它的初始化过程无非就是一开始就new 一个instance,或者惰性初始化等需要用到的时候new 一个insta ...
- 关于第一次web前端面试的记录
最近参加了一场面试,感觉自己题目都懂,但是说起来就是有点说不明白,所以写个博客整理以下吧.答案不少不是面试时回答的答案,只是整理一下可行答案 1. 如图1,使B相对于A垂直居中 图1 <styl ...
- Go 程序开发的注意事项
Go 程序开发的注意事项 1) Go 源文件以 "go" 为扩展名. 2) Go 应用程序的执行入口是 main()函数. 这个是和其它编程语言(比如 java/c) ...
- NX二次开发-UFUN查询对象的类型和子类型UF_OBJ_ask_type_and_subtype
NX9+VS2012 #include <uf.h> #include <uf_obj.h> #include <uf_modl.h> #include <u ...
- NX二次开发-获得制图中对象的坐标点UF_DRF_ask_origin
#include <uf.h> #include <uf_ui.h> #include <uf_drf.h> #include <uf_obj.h> # ...
- Java习题10.25
Java习题10.25 1. 实际上这道题考查的是两同两小一大原则: 方法名相同,参数类型相同 子类返回类型小于等于父类方法返回类型, 子类抛出异常小于等于父类方法抛出异常, 子类访问权限大于等于父类 ...
- 快速排序--Python实现
快速排序算法:1.选择一个基准数2.小于基准数的放左边,大于基准数的放右边3.利用递归的方法针对左边的数据进行快速排序,再对右边的数据进行快速排序4.递归停止的条件:数组为空或者只有一个元素 时间复杂 ...
- 数据结构C++版-栈
一.概念 二.应用实例 1.进制转换 #include <stdlib.h> #include <iostream> #include <string> #incl ...