Java的一些入门题目

简介: Java的一些入门题目

1. 根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)



程序清单1:


public class Test1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        if (n >= 1 && n <= 18){
            System.out.println("少年");
        } else if (n >= 19 && n <= 28) {
            System.out.println("青年");
        } else if (n >= 29 && n <= 55) {
            System.out.println("中年");
        }else{
            System.out.println("老年");
        }
    }
}


2. 输出 1000 - 2000 之间所有的闰年



程序清单2:


public class Test2 {
    public static void main(String[] args) {
            int count = 0;
            for (int i = 1000; i <= 2000 ; i++) {
                if( (i % 4 == 0 && i % 100 !=0) || i % 400 == 0){
                    System.out.print(i + " ");
                    count++;
                }
            }
            System.out.println("1000 - 2000 之间所有的闰年的个数为");
            System.out.println(count);//输出结果是243个
        }
}


3. 输出乘法口诀表



程序清单3:


public class Test3 {
    public static void main(String[] args) {
        for (int i = 1; i <= 9; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i + "*" + j + "=" + i*j + " ");
            }
            System.out.print("\n");
        }
    }
}


4. 求两个正整数的最大公约数



程序清单4:


public class Test4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        int c = a % b;
        while( c != 0 ){
            a = b;
            b = c;
            c = a % b;
        }
        System.out.println(b);
    }
}


034ee9623c1e4ce190759f227f496359.jpg


5. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值



程序清单5:


public class Test5 {
    public static void main(String[] args) {
        double sum = 0;
        for (int i = 1; i <= 100 ; i++) {
            int n = 1;
            if(i % 2 == 0){
                n = -1;
            }
            sum += 1.0 / (n * i);
        }
        System.out.println(sum);
    }
}
//注意:题目给的分子都是1,编程时要换成1.0,这样才能输出小数


6. 编写程序数一下 1 到 100 的所有整数中出现多少个数字9



程序清单6:


public class Test6 {
    public static void main(String[] args) {
        for (int i = 1; i <= 100 ; i++) {
            if( (i / 10 == 9) || (i % 10) == 9){
                System.out.print(i + " ");
            }
        }
    }
}


7. 打印 1 - 100 之间所有的素数



程序清单7:


public class Test7 {
    public static void main(String[] args) {
        int count = 0;
        for ( int i = 1; i <= 100; i++) {
            int flag = 0;
            for (int j = 2; j < i; j++) {
                if(i % j == 0) {
                    flag = 1;
                    break;
                }
            }
            if(flag != 1){
                System.out.println(i);
                count++;
            }
        }
        System.out.println("\n");
        System.out.println("1-100之间素数的个数为:" + count);
    }
}


8. 输出自幂数 - 水仙花数题型(七位数以内)



程序清单8:


public class Test8 {
    public static void main(String[] args) {
        int n = 9999999;
        cal(n);
    }
    public static void cal(int n){
        for (int i = 1; i <= n; i++) {
            int count = 0;
            int tmp = i;
            //1. 分析输入的数是几位数,若是三位数,那么count = 3
            while( tmp != 0 ){
                count++;
                tmp/=10;
            }
            tmp = i;
            int sum = 0;
            //2. 拿到一个数的每一位数字
            while(tmp != 0){
                sum += Math.pow( tmp%10, count );
                tmp /= 10;
            }
            //3. 判断!如果遵循自幂数的规则,那么就输出
            if(sum == i){
                System.out.println(sum);
            }
        }
    }
}


7ef69f5e3d2045208d17a13d9d513093.png


分析代码:


549a6ef46980431cba3115ee6c6c6c3d.jpg


9. 编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序



程序清单9:


public class Test9 {
    public static void main(String[] args) {
        judge();
    }
    public static void judge() {
        int count = 3;
        while (count-- != 0){
            System.out.println("请输入密码:");
            Scanner scanner = new Scanner(System.in);
            String password = scanner.nextLine();
            if(password.equals("abc123")){
                System.out.println("密码正确,登录成功!");
                break;
            }
            else{
                System.out.println("密码错误,你还有"+ count+ "次机会!" );
            }
        }
    }
}    


输入和输出的结果:


58a3fc57ff5b4451a14ca5db054eb2ba.png


10. 获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列



程序清单10:


public class Test10 {
    public static void main(String[] args) {
        int n = 11;
        for (int i = 31; i >= 1 ; i = i-2) {
            System.out.print(( (n>>i) & 1));
        }
        System.out.println();
        for (int i = 30; i >= 0 ; i = i-2) {
            System.out.print(( (n>>i) & 1));
        }
    }
}


分析代码:


74ba865585034f8e9fe6c7449a4d58ca.jpg


11. 猜数字游戏



在实现猜数字游戏之前,我们先来看一下怎么让 Java 实现随机数。


格式:


Random random = new Random();
int rand = random.nextInt(bound);


  • 其中 bound 表示边界,遵循左闭右开,比方说 bound == 50
  • 那么 rand 的最终取值范围为:[ 0, 50 ),也就是说 50 取不到。


程序清单11:


public class Test11 {
    public static void main(String[] args) {
        Random random = new Random();
        int rand = random.nextInt(50);
        System.out.println(rand);
    }
}


程序清单12:


public class Test12 {
    public static void main(String[] args) {
        Random random = new Random();
        int rand = random.nextInt(50);
        Scanner scanner = new Scanner(System.in);
        while (true){
            int input = scanner.nextInt();
            if(input < rand){
                System.out.println("猜小了");
            }else if(input == rand){
                System.out.println("猜对了");
                break;
            }else {
                System.out.println("猜大了");
            }
        }
    }
}


输出结果:


61e98ec553274fdf8abfc498c8545057.png


小伙伴们可以自己试一下,也可以将随机值显示打印出来,验证此方法。


12. 交替输入 a 和 b 的值



程序清单13:


import java.util.Scanner;
public class Test13 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            int a = scanner.nextInt();
            System.out.println("a= "+a);
            int b = scanner.nextInt();
            System.out.println("b= "+b);
        }
    }
}


 //在输入界面按 ctrl + D 结束循环输入


输出结果:


dbe3c7b2c1ce4e928ede9e169e033815.png


总结



十七最近把 C语言 顺利学完了。然后从 C 转到 Java,从 VS 转到 IDEA,很多地方正在慢慢习惯,入门阶段,两者有一些相通的地方,比如:大多实现代码的逻辑是相似的;也有些地方很不同,比如:代码风格和一些细节处理。


00bb3db6bbcc450cb7ab300c7f75917c.jpg


Over. 谢谢观看哟~

目录
相关文章
|
2月前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第17天】本文详细介绍了Java编程中Map的使用,涵盖Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的并发处理和性能优化技巧,适合初学者和进阶者学习。
55 3
|
6天前
|
监控 架构师 Java
Java虚拟机调优的艺术:从入门到精通####
本文作为一篇深入浅出的技术指南,旨在为Java开发者揭示JVM调优的神秘面纱,通过剖析其背后的原理、分享实战经验与最佳实践,引领读者踏上从调优新手到高手的进阶之路。不同于传统的摘要概述,本文将以一场虚拟的对话形式,模拟一位经验丰富的架构师向初学者传授JVM调优的心法,激发学习兴趣,同时概括性地介绍文章将探讨的核心议题——性能监控、垃圾回收优化、内存管理及常见问题解决策略。 ####
|
24天前
|
监控 安全 Java
Java中的多线程编程:从入门到实践####
本文将深入浅出地探讨Java多线程编程的核心概念、应用场景及实践技巧。不同于传统的摘要形式,本文将以一个简短的代码示例作为开篇,直接展示多线程的魅力,随后再详细解析其背后的原理与实现方式,旨在帮助读者快速理解并掌握Java多线程编程的基本技能。 ```java // 简单的多线程示例:创建两个线程,分别打印不同的消息 public class SimpleMultithreading { public static void main(String[] args) { Thread thread1 = new Thread(() -> System.out.prin
|
1月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
1月前
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
72 5
|
1月前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
34 1
|
1月前
|
Java 数据处理 开发者
Java多线程编程的艺术:从入门到精通####
【10月更文挑战第21天】 本文将深入探讨Java多线程编程的核心概念,通过生动实例和实用技巧,引导读者从基础认知迈向高效并发编程的殿堂。我们将一起揭开线程管理的神秘面纱,掌握同步机制的精髓,并学习如何在实际项目中灵活运用这些知识,以提升应用性能与响应速度。 ####
46 3
|
2月前
|
开发框架 IDE Java
java制作游戏,如何使用libgdx,入门级别教学
本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
54 1
java制作游戏,如何使用libgdx,入门级别教学
|
2月前
|
Java
Java中的多线程编程:从入门到精通
本文将带你深入了解Java中的多线程编程。我们将从基础概念开始,逐步深入探讨线程的创建、启动、同步和通信等关键知识点。通过阅读本文,你将能够掌握Java多线程编程的基本技能,为进一步学习和应用打下坚实的基础。
|
2月前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
64 4