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个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析 ...
随机推荐
- IDA静态编译之sub
int __thiscall sub_10009800(const wchar_t *this, int a2, int a3, HKEY hKey){ } 说明:__thiscall dll内子函 ...
- Java中volatile关键字及其作用是什么?
在 Java 多线程中如何保证线程的安全性?那我们可以使用 Synchronized 同步锁来给需要多个线程访问的代码块加锁以保证线程安全性.使用 synchronized 虽然可以解决多线程安全问题 ...
- JMM 内存模型 与 volatile 关键字
内存模型 线程之间的共享变量存储在主内存(main memory)中,每个线程都有一个私有的本地内存(local memory). 本地内存中存储了该线程以读/写共享变量的副本. 不同线程之间无法相互 ...
- delphi xe10 传感器操作
MotionSensor1: TMotionSensor; 加速传感器 MotionSensor1.Sensor(AngleAccelX.AngleAccelY.AngleAccelZ)加速度 pro ...
- 干货满满!解密阿里云RPA (机器人流程自动化)的产品架构和商业化发展
阿里云RPA,作为阿里云自研8年的技术,在资本的热捧下,逐渐从幕后来到台前,成为企业服务市场的黑马.本文将从产品上全面剖析,阿里云RPA这款产品的现阶段情况,同时简单谈谈阿里云RPA的商业化进展. 阿 ...
- Android中的Serialable和Parcelable的区别
本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见<Java中的序列化Serialable高级详解> 1.作用 Ser ...
- 我们能从java的HelloWorld学到什么?
这是每个Java程序员都知道的.虽然简单,但是从一个简单的问题可以引入更深的思考.在这篇文章中,我们将讨论这个简单的程序.如果能更多的帮到你,请留下宝贵的意见. HelloWorld.java pub ...
- [JZOJ 5600] Arg
题意:求最少LIS覆盖... 思路: 计算\(LIS\)时我们一般用\(dp\)表示到当先位置时以当前位置结尾的\(LIS\)最长长度. 那么这个数组保证单调不降,我们考虑二进制表示. 然后就是转移了 ...
- 3. Image Structure and Generation
名词 Extensible Linking Format(ELF) 3.1 The structure of an ARM ELF image ARM ELF映像包含sections, regions ...
- jquery操作html元素之( 获取并设置 CSS 类)
jQuery 操作 CSS jQuery 拥有若干进行 CSS 操作的方法.我们将学习下面这些: addClass() - 向被选元素添加一个或多个类 removeClass() - 从被选元素删除一 ...