🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL|
💫个人格言:“没有罗马,那就自己创造罗马~”
文章目录
- <font face="小四" color="red" size=3>JAVA输入的两种方式
- <font face="小四" color="red" size=3>JAVA输出的三种方式
- <font face="小四" color="red" size=3>JAVA循环输入
- `Java输入`
- `生成随机数`
- `打印九九乘法表`
- `求两个数的最大公约数 - 利用辗转相除法`
- `计算0-999的水仙花数`
- `写一个函数,返回参数二进制中 1 的个数`
JAVA输入的两种方式
JAVA输出的三种方式
JAVA循环输入
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输入
Scanner scanner = new Scanner(System.in);
生成随机数
//系统生成一个随机数Random random = new Random();int randNum = random.nextInt(100);//[0,100) bound : 范围
打印九九乘法表
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就是它的最大公约数.
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的水仙花数
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 --> 0tmp = i; //再把原来的数字赋值给tmpint 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为止
写法一:
public class TestDemo4 {public static void main(String[] args) {//写一个函数返回二进制中 1 的个数//比如: 15 0000 1111 ---> 4个1int n = 7;//初始化一个变量 count 计算按位与的次数(也就是1的个数)int count = 0;while(n != 0){count++;n = n & (n - 1);}System.out.println(count);}
写法二:
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);}