Java—初学必练编程题

这里写目录标题

前言

  • 以下代码只涉及基础语法知识,作为《Java基础语法篇》的拓展。

一)跟自己打个招呼

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        String a=in.nextLine();
        System.out.println("Not,Hello,world!"+a+"!");
    }
}

二)Switch-case语法演示

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        String a=in.nextLine();
        switch(a){
            case "xswl":
                System.out.println("笑死我了");
                break;
            case "yyds":
                System.out.println("永远的神");
                break;
            default:
                System.out.println("等待你的添加");
        }
    }
}

三)打印1-100素数

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        for (int i = 2; i < 100; i++) {
            //默认该数就是素数,注意,定义过程应放到循环里,每次都初始化isprime。
            int isprime = 1;
            for (int j = 2; j < i; j++) {
                //如果能被除1和i本身的数整除,那么不是素数。
                if (i % j == 0) {
                    isprime = 0;
                    break;
                }
            }
            if (isprime == 1) {
                System.out.println(i);
            }
        }
    }
}

四)遍历筛选法找最大公约数

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in= new Scanner(System.in);
        int a=in.nextInt();
        int b=in.nextInt();
        if(a>b){
            int temp=a;
            a=b;
            b=temp;
        }
        int min=a;    //始终让a最小
        int findout=0;
        for( ;min!=1;min--){
            if(a%min==0&&b%min==0){
                findout=1;
                break;
            }
        }
        if(findout==1){
            System.out.println(min);
        }else System.out.println("除1,无最大公倍数");
    }
}

五)辗转相除法找最大公约数

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in= new Scanner(System.in);
        int a=in.nextInt();
        int b=in.nextInt();
        while(b!=0){
            int c=a%b;
            a=b;
            b=c;
        }
        System.out.println(a);
    }
}

六)求第m到第n个素数的和

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in= new Scanner(System.in);
        int cnt=0;
        int sum=0;
        int m=in.nextInt();
        int n=in.nextInt();
        OUT:
        for(int i=2;i<Integer.MAX_VALUE;i++){
            int isprime=1;
            for(int j=2;j<i;j++){
                if(i%j==0){
                    isprime=0;
                }
            }
            if(isprime==1){
                cnt++;
                if(cnt>=m&&cnt<=n){
                    sum+=i;
                }else if(cnt>n){
                    break OUT;
                }
            }
        }
        System.out.println(sum);
    }
}

七)十进制转换为任何进制(除商逆序取余法)

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int [] a=new int[100];
        int a1=in.nextInt();
        int cnt=0;
        while(a1>0){
            int c=a1%2;
            a[cnt]=c;
            cnt++;
            a1/=2;
        }
        for(int i=cnt;i>=0;i--){
            System.out.print(a[i]);
        }、
    }
}

八)任何进制转换为十进制(通过Java的方法实现)

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        String a6 ="0X12";  //六进制
        String a8 ="012";  //八进制
        int a1=Integer.parseInt(a6.substring(2,a6.length()),6);
        int a2=Integer.parseInt(a8.substring(1,a8.length()),8);
        System.out.println(a1+" "+a2);
    }
}

九)找到100以内的素数,减少计算次数,Boolean数组。

/**
 * @Author 不知名网友鑫
 * @Date 2022/1/23
 **/
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Boolean [] a=new Boolean[100];
        for(int i=0;i<100;i++){
            a[i]=true;
        }
        for(int i=2;i<a.length;i++) {
            if (a[i]) {
                for (int j = 2; i * j <a.length; j++) {
                    a[i * j] = false;
                }
            }
        }
        for(int i=2;i<a.length;i++){
            if(a[i]){
                System.out.print(i+" ");
            }
        }
    }
}

十)待更新

上一篇:模拟测试恢复redhat7.5系统权限


下一篇:针对:Arraylist集合无法修改,下一次枚举无法操作的解决方案