Java小程序

Java新手小年今天给大家带来几个简单程序示例;
1.编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输 入,最多输入三次。三次均错,则提示退出程序。

import java.util.Scanner;
public static void main12(String[] args) {
        int i = 2;
        String num = "1234";
        while (i>=0){
            Scanner scanner = new Scanner(System.in);
            String str = scanner.nextLine() ;
            if(num.equals(str)){
                System.out.println("输入正确");
                break;
            }else{
                System.out.println("输入错误,请重新输入。(你还有"+ i+ "次机会)");
            }
            i--;
        }
    }
}
12
输入错误,请重新输入。(你还有2次机会)
125
输入错误,请重新输入。(你还有1次机会)
1234
输入正确

2.输出n*n的乘法口诀表,n由用户输入

import java.util.Scanner;
public class Practice2 {
    /**
     * 输出n*n的乘法口诀表,n由用户输入
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i = 1;
        int fac;
        System.out.print("      ");
        while(i <= n){
            System.out.print(i+"      ");    //输出橫行初始数据
            i++;
        }
        System.out.printf("\n");
        for(i = 1;i <= n;i++){
            System.out.print(i + "     ");
            for (int j = 1;j <= n; j++) {
                fac = i * j;
                if( fac < 10){
                    System.out.print(fac + "      ");
                }else {
                    System.out.print(fac + "     ");
                }

            }
            System.out.printf("\n");
        }
    }
}
9
      1      2      3      4      5      6      7      8      9      
1     1      2      3      4      5      6      7      8      9      
2     2      4      6      8      10     12     14     16     18     
3     3      6      9      12     15     18     21     24     27     
4     4      8      12     16     20     24     28     32     36     
5     5      10     15     20     25     30     35     40     45     
6     6      12     18     24     30     36     42     48     54     
7     7      14     21     28     35     42     49     56     63     
8     8      16     24     32     40     48     56     64     72     
9     9      18     27     36     45     54     63     72     81

备注:程序中输出空格(两个数字之间距离)不完善,大佬评论指点指点。
3.输出一个整数的每一位,如:123的每一位是1 , 2 , 3

import java.util.Scanner;
public class Practice2 {
/**
     * 输出一个整数的每一位,如:123的每一位是1 , 2 , 3
     * @param args
     */
    public static void main13(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        int Num = num;
        /*int num = 123;*/
        int a = 0;//判断这个数有多少位
        int i = 1;
        int b;//输出位
        int c;
        while (i>0){
            if(num/10!=0){
                num = num/10;
                a++;            //一共有a+1位数
            }else{
                break;
            }
        }
        for (c = 1; c < a+2; c++) {
            num =Num;
            if(c==1){
                b = (int)(num%(Math.pow(10,c)));
            }else{
                num = (int)(num/Math.pow(10,c-1));
                b = (int)(num%10);
            }
            System.out.println(b);
        }
    }
}
23151
1
5
1
3
2

4.求一个整数,在内存当中存储时,二进制1的个数

import java.util.Scanner;
public class Practice2 {
	public static int binOfone(int n){
        int m = 1;
        int count = 0;
        while (m!=0){
            m = n&1;
            n = n>>>1;
            count ++;
        }//第三次循环后,n已经是0000 0000,但m仍为1,多进行一次循环,count多运行一次
        return count-1;
    }
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int count = binOfone(n);
        System.out.println(n + "在内存中存储时,二进制1的个数:");
        System.out.println(count);
    }
}
7
7在内存中存储时,二进制1的个数:
3

第一次上手,不足的地方偏多,求指点?


版权声明:本文为a13572259715原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。