适合Java新手入门的编码练习题,附有答案
程序员文章站
2024-03-05 18:14:25
...
这里面整理的都是我当初从小白入门时练习过的编码题,特此来整理一下,大家可以通过下面的编码题来逐渐提升自己的编码逻辑力集业务逻辑思考力。这里边的代码答案都是我自己编写的,有任何问题欢迎大家反馈指教哈。共同学习,共同进步 ~
话不多说,开始上题!!
题目目录:
- 利用for循环实现九九乘法表
- 分别录入购买5件商品的价格,求商品的总价以及平均价格
- 生成验证码练习:输入生成验证码的长度(例如4位、8位长度的验证码),验证码取值范围(0-9,a-z,A-Z),将生成结果输出
- 打印一个梯形
- 号码抽奖机
1.利用for循环实现九九乘法表
涉及知识点:for循环、占位符使用
完成效果图:
实现代码:
public static void main(String[] args) {
//九九乘法表
for(int i=1;i<=9;i++){
for(int j=1;j<=i;j++){
System.out.printf("%d*%d=%d ",i,j,i*j);
}
System.out.println();
}
}
2.分别录入购买5件商品的价格,求商品的总价以及平均价格
涉及知识点:if/switch分支判断、数组遍历、简单数学运算
完成效果图:
实现代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int money[] = new int[5];
int sum = 0;
System.out.println("请输入5件商品的购买价格:");
for(int i=0;i<money.length;i++){
money[i] = sc.nextInt();
sum+=money[i];
}
System.out.printf("商品的总价为:%d\n",sum);
System.out.printf("商品的平均价格为:%d",sum/5);
}
3.生成验证码练习:输入生成验证码的长度(例如4位、8位长度的验证码),验证码取值范围(0-9,a-z,A-Z),将生成结果输出
涉及知识点:数组遍历、Math.random随机语法应用
完成效果图:
实现代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char[]charArray={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
int len;
System.out.print("请输入生成验证码的长度:");
len = sc.nextInt();
System.out.print("您的验证码为:");
for(int i=1;i<=len;i++){
System.out.print(charArray[(int)(Math.random()*24)]);
}
}
4.打印一个梯形
涉及知识点:for循环
完成效果图:
实现代码:
public static void main(String[] args) {
for(int i=1;i<=5;i++){
for(int j=1;j<=i;j++){
System.out.print("*");
}
System.out.print("\n");
}
}
5.号码抽奖机
涉及知识点:if/switch分支判断、Math.random随机语法应用
完成效果图:
实现代码:
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int qd,len; //确定操作变量,
int number; //中奖号码
boolean flag = false; //标识
System.out.println("~欢迎使用抽奖机~");
System.out.println("********************");
System.out.println("是否抽奖?(Y:确定 N:退出)");
qd = sc.next().charAt(0);
//判断用户是否执行操作
if(qd=='y'||qd=='Y'){ //确定操作
System.out.println("请输入参与人数");
len = sc.nextInt();
int[] a = new int[len]; //参与人数组
int[] b = new int[len]; //中奖人数组
for(int i=0;i<a.length;i++){
a[i] = i+1;
}
while(true){
//中奖号码
while(true){
number = a[(int)(Math.random()*len)];
for(int i=0;i<b.length;i++){
if(number == b[i]){
flag = true;
break;
}
}
if(flag){
flag = false;
continue;
}else{
System.out.printf("恭喜%d号用户中奖!!\n",number);
for(int i=0;i<b.length;i++){
if(b[i] == 0){
b[i] = number;
break;
}
}
System.out.println("抽奖完成,是否继续操作??(输入任意字符继续,退出按N)");
qd = sc.next().charAt(0);
break;
}
}
//当数组最后一位不为0的情况下退出循环
if(b[b.length-1] != 0){
System.out.println("********************");
System.out.println("抽奖活动结束,感谢您的使用^_^!!");
break;
}
//如果用户选择取消的话执行退出操作
if(qd=='n'||qd=='N'){
System.out.println("********************");
System.out.println("抽奖结束,感谢您的使用^_^!!");
return;
}
}
}if(qd=='n'||qd=='N'){ //取消操作
System.out.println("********************");
System.out.println("退出,欢迎下次使用^_^!!");
}
}
这些代码都是我当时小白期间写出来的,我就原封不动的放到这里了,可能有些地方写的有点问题(瑕疵),还请多多指教哈!!先就写这么多,后面还会有更多的题目,我会逐步更新帖子的。这是我的第一次在这里发帖,希望这些题目能帮助你提升编程开发经验。
祝您早日成为编程大神 ^ _ ^ !!