首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【JAVA】我和“JAVA“的细水长流,输入输出

【JAVA】我和“JAVA“的细水长流,输入输出

作者头像
ImAileen
发布2024-03-12 12:20:35
发布2024-03-12 12:20:35
3040
举报

JAVA输出的三种方式

JAVA循环输入

代码语言:javascript
复制
import java.util.Scanner;
public class TestDemo4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()) {
            String name = scanner.nextLine();
            System.out.println(name);

        }
    }
}

Java输入

代码语言:javascript
复制
        Scanner scanner = new Scanner(System.in);

生成随机数

代码语言:javascript
复制
        //系统生成一个随机数
        Random random = new Random();
        int randNum = random.nextInt(100);//[0,100)  bound : 范围

打印九九乘法表

代码语言:javascript
复制
public class TestDemo4 {
    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.println();//每打印一行就换行
        }
    }

求两个数的最大公约数 - 利用辗转相除法

辗转相除法: 例如:a = 24 , b = 18 24 % 18 = 6 因为余数不等于0,所以我们可以把原来的除数变成被除数,余数变成除数,再进行计算. 18 % 6 = 0 当余数为0时,除数6就是它的最大公约数.

代码语言:javascript
复制
public class TestDemo4 {
    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);
    }

计算0-999的水仙花数

代码语言:javascript
复制
public class TestDemo4 {
    public static void main(String[] args) {
        //求0 - 999的水仙花数
        for (int i = 1; i < 999 ; i++) {
            //计算当前数字的位数
            int count = 0;
            //定义一个临时变量用于存储数字,因为计算完位数i会被除为0,所以要定义一个临时变量tmp存储它
            int tmp =  i;

            //计算位数
            while (tmp != 0)
            {
                count++;
                tmp /= 10;
            }
            // tmp --> 0
            tmp = i; //再把原来的数字赋值给tmp
            int sum = 0;
            while (tmp != 0){
                sum += Math.pow(tmp % 10 , count);
                tmp /= 10;
            }
            if(i == sum){
                System.out.println(i);
            }
        }
    }

写一个函数,返回参数二进制中 1 的个数

比如: 15 ---> 0000 1111 4个1 tip:将n的二进制与上(n-1)的二进制,直到n=0为止

写法一:

代码语言:javascript
复制
public class TestDemo4 {
    public static void main(String[] args) {
        //写一个函数返回二进制中 1 的个数
        //比如: 15 0000 1111 ---> 4个1
        int n = 7;
        //初始化一个变量 count 计算按位与的次数(也就是1的个数)
        int count = 0;
        while(n != 0){
            count++;
            n = n & (n - 1);
        }
        System.out.println(count);

    }

写法二:

代码语言:javascript
复制
public class TestDemo4 {
    public static void main(String[] args) {
//        for 循环 至少移动32次
        int n = 7;
        int count = 0;
        for(int i = 0; i <= 31 ; i++){
            if(((n >> i) & 1) != 0){
                count++;
            }
        }
        System.out.println(count);
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JAVA输出的三种方式
  • JAVA循环输入
  • Java输入
  • 生成随机数
  • 打印九九乘法表
  • 求两个数的最大公约数 - 利用辗转相除法
  • 计算0-999的水仙花数
  • 写一个函数,返回参数二进制中 1 的个数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档