JAVA小白编程题练习
可能有很多刚入门的小白不知道自己如何能快速提升编程技巧与熟练度
其实大佬进阶之路只有一个~ 那就是疯狂码代码!!!实践出真知!!!
所以为了大家能够想练习的时候有素材,江子给大家整理了一些练习题
由于我也是个在校学生,所以我在不定时努力更新中,欢迎监督~
希望能给大家带来帮助~!!
文章目录:
目录
JAVA小白编程题练习
1、通过代码编写,输出一句话:" 我要开始学习JAVA了,Hello World!"
3、从控制台读取用户信息的姓名,并打印" Hello, [姓名]! "
13、多次生成随机数,并打印第一次出现大于0.999 时的次数与生成的随机数
1、通过代码编写,输出一句话:" 我要开始学习JAVA了,Hello World!"
public class Test1 {
public static void main(String[] args) {
System.out.println("我要开始学习JAVA了,Hello World!");
}
}
2、将两个整数相加并打印结果。
public class Test2 {
public static void main(String[] args) {
int num1 = 5;
int num2 = 10;
int sum = num1 + num2;
System.out.println("两个整数的和为:" + sum);
}
}
3、从控制台读取用户信息的姓名,并打印" Hello, [姓名]! "
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
// 创建一个Scanner对象,用于读取用户输入
Scanner scanner = new Scanner(System.in);
// 提示用户输入姓名
System.out.print("请输入您的姓名: ");
// 读取用户输入的姓名
String name = scanner.nextLine();
// 打印问候语
System.out.println("Hello, " + name + "!");
// 关闭Scanner对象
scanner.close();
}
}
4、打印1到100之间的所有奇数。
public class Test4 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 2 != 0) {
System.out.println(i);
}
}
}
}
5、打印1到100之间的所有偶数。
public class Test5 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 2 == 0) {
System.out.println(i);
}
}
}
}
6、打印一个n行的等腰三角形,n由自己指定。
import java.util.Scanner;
public class Test6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要打印的等腰三角形的行数:");
int n = scanner.nextInt();
for (int i = 1; i <= n; i++) {
// 打印空格
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
// 打印星号
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
// 换行
System.out.println();
}
}
}
7、打印1到100之间所有能被3和5同时整除的数字。
public class Test7 {
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
if (i % 3 == 0 && i % 5 == 0) {
System.out.println(i);
}
}
}
}
8、打印当前日期和时间。
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Test8 {
public static void main(String[] args) {
// 获取当前日期和时间
LocalDateTime currentDateTime = LocalDateTime.now();
// 定义日期时间格式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 格式化日期时间并打印
String formattedDateTime = currentDateTime.format(formatter);
System.out.println("当前日期和时间: " + formattedDateTime);
}
}
9、预测身高案例
其实我们可以通过父母的身高大致推断出子女的身高,假定父母与子女的身高遗传关系如下:
儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2
女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2
那已知:现有父亲身高180CM,母亲身高165CM。
请将预测的子女身高打印输出
public class Test9 {
public static void main(String[] args) {
//1.定义变量保存父亲的身高
double fatherHeight = 180;
//2.定义变量保存母亲的身高
double motherHeight = 165;
//3.计算儿子身高
double sonHeight = (fatherHeight + motherHeight) * 1.08 / 2;
//4.计算女儿身高
double daughterHeight = (fatherHeight * 0.923 + motherHeight) / 2;
//5.打印输出最终计算的结果
System.out.println("儿子预计身高" + sonHeight + "厘米");
System.out.println("女儿预计身高" + daughterHeight + "厘米");
}
}
10、逻辑判断
已知小美同学有15元,她攒了几天钱之后发现自己的现在的钱比原来的2倍还多出10块。而小帅同学有20元,他攒了几天钱之后发现自己的钱正好是原来的2倍。于是丧彪说:小美和小帅现在的钱一样多,请问,他说的对吗?
public class Test10 {
public static void main(String[] args) {
//1.定义变量保存小美原来的钱数
int mei = 15;
//2.定义变量保存小帅原来的钱数
int shuai = 20;
//3.求小美同学现在的钱数
mei = mei * 2 + 10;
//4.求小帅同学现在的钱数
shuai = shuai * 2;
//5.判断并输出两个人的钱是否相等
System.out.println(mei == shuai);
}
}
11、鸡兔同笼问题(穷举法)
public class Test11 {
// 已知:鸡兔共35只,共94只脚,那么鸡和兔各几只?
public static void main(String[] args) {
//循环变量j,控制小鸡的个数: 0到35递增
//循环变量t,控制兔子的个数: 35到0递减
for(int j=0,t=35; j<=35; j++,t--) {//如果有多个小条件,用逗号隔开
//保证脚的数量是94
if(j*2 + t*4 == 94) {
System.out.println("鸡:"+j+", 兔:"+t);
}
}
}
}
12、求数字阶乘(for循环版)
需求:接收用户输入的数字,计算该数字的阶乘结果
已知:负数不可以有阶乘,0的阶乘结果是1,
5 ! = 5 x 4 x 3 x 2 x 1
import java.util.Scanner;
public class Test12 {
public static void main(String[] args) {
System.out.print("输入整数,求阶乘:");
int n = new Scanner(System.in).nextInt();
// 调用f()方法,把n的值传递到f()方法,求阶乘
f(n);
}
public static void f(int n) {
if(n<0) {
System.out.println("负数不可以求阶乘");
return; // 方法结束,返回到调用位置继续执行
}
if(n == 0) {
System.out.println("0的阶乘是1");
return;
}
long r = n;
for(int i=n-1; i>=1; i--) {
r *= i;
}
System.out.println(n+"的阶乘:"+r);
}
}
13、多次生成随机数,并打印第一次出现大于0.999 时的次数与生成的随机数
public class Test13 {
public static void main(String[] args) {
//写一个死循环, i变量用来计次
for(int i=1; ;i++) {
double d = Math.random();
// Math.random()可以产生[0,1)的随机浮点数
if(d>0.999) {
// >0.999
System.out.println("第"+i+"次产生了目标值,值为:"+d);
break;
}
}
}
}
14、打印100以内除了尾数为3,5,7的所有数
public class Test14 {
public static void main(String[] args) {
for(int i=1;i<=100;i++) {
int y = i%10; // 100以内的数,通过取余求出尾数
if(y==3 || y==5 || y==7) {
continue; // 如果尾数为3 5 7 ,则跳过后面的打印,进行下一轮循环
}
System.out.println(i);
}
}
}
15、求任意自然数各位数之和
接收用户输入的任意自然数,累计所有位数数字之和
需求:接收用户输入的行数
import java.util.Scanner;
public class Test15 {
public static void main(String[] args) {
// 1、提示并接收用户要计算的自然数:
System.out.println("请输出您要求和的自然数:");
int n = new Scanner(System.in).nextInt();
// 2、定义一个变量用来保存最终求和的结果
int sum=0;
// 3、循环获取每一位上的数
while(n!=0){
// 4、求当前的个位数,并将个位数累加
sum = sum + (n%10);
// 5、去掉刚刚累加过的最后一位数,得到新的整数
// 比如刚刚的十位就变成了现在的个位
n=n/10;
}
// 6、打印最终的结果:
System.out.println(sum);
}
}