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. 谢谢观看哟~

目录
相关文章
|
15天前
|
JSON NoSQL Java
Redis入门到通关之Java客户端SpringDataRedis(RedisTemplate)
Redis入门到通关之Java客户端SpringDataRedis(RedisTemplate)
33 0
|
15天前
|
Java
Java编程语言入门指南
Java编程语言入门指南
16 1
|
2天前
|
Java API 开发工具
java与Android开发入门指南
java与Android开发入门指南
8 0
|
2天前
|
Java
Java一分钟之-类与对象:面向对象编程入门
【5月更文挑战第8天】本文为Java面向对象编程的入门指南,介绍了类与对象的基础概念、常见问题及规避策略。文章通过代码示例展示了如何定义类,包括访问修饰符的适当使用、构造器的设计以及方法的封装。同时,讨论了对象创建与使用时可能遇到的内存泄漏、空指针异常和数据不一致等问题,并提供了相应的解决建议。学习OOP需注重理论与实践相结合,不断编写和优化代码。
25 1
|
3天前
|
Java 编译器 对象存储
java一分钟之Java入门:认识JDK与JVM
【5月更文挑战第7天】本文介绍了Java编程的基础——JDK和JVM。JDK是包含编译器、运行时环境、类库等的开发工具包,而JVM是Java平台的核心,负责执行字节码并实现跨平台运行。常见问题包括版本不匹配、环境变量配置错误、内存溢出和线程死锁。解决办法包括选择合适JDK版本、正确配置环境变量、调整JVM内存参数和避免线程死锁。通过代码示例展示了JVM内存管理和基本Java程序结构,帮助初学者更好地理解JDK和JVM在Java编程中的作用。
15 0
|
10天前
|
设计模式 算法 安全
Java多线程编程实战:从入门到精通
【4月更文挑战第30天】本文介绍了Java多线程编程的基础,包括线程概念、创建线程(继承`Thread`或实现`Runnable`)、线程生命周期。还讨论了线程同步与锁(同步代码块、`ReentrantLock`)、线程间通信(等待/通知、并发集合)以及实战技巧,如使用线程池、线程安全设计模式和避免死锁。性能优化方面,建议减少锁粒度和使用非阻塞算法。理解这些概念和技术对于编写高效、可靠的多线程程序至关重要。
|
11天前
|
算法 Java 大数据
Java从入门到精通学习报告
Java从入门到精通学习报告
19 1
|
11天前
|
数据采集 存储 前端开发
Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
2024年北京车展凸显电动车全球热度,中国引领市场,展出117台全球首发车,包括30台跨国公司电动车。借助Nutch库抓取汽车网站数据,分析电动车市场趋势。通过配置代理和多线程爬虫,高效收集新车信息,助力理解市场动态,推动可持续交通发展。
Nutch库入门指南:利用Java编写采集程序,快速抓取北京车展重点车型
|
15天前
|
XML Java 开发工具
阿里云大学考试Java高级题目及解析-java高级
阿里云大学考试Java高级题目及解析-java高级
10 0
|
15天前
|
SQL Java 开发工具
阿里云大学考试Java中级题目及解析-java中级
阿里云大学考试Java中级题目及解析-java中级