零基础学Java语言测试题——素数和,念整数

1.素数和

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// 初始化
		
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = in.nextInt();
		int num=0;
		int a =0;
		int b =0;
		int counter = 0;
		
        for(int j=2;j<10000;j++) {
        	int flag =1;
        	
        for(int i =2;i<j;i++) {
        	
        	if(j%i==0) {
        		//System.out.println("不是素数"+i);
        		flag=0;
        		break;
        	}
        }
        
        if(flag==1) {
        	num =num+1;
        	counter = counter + j; 
        	if(num == n-1) {
        		 a=counter;
        	}
        	if(num == m)
        	{
        		 b =counter;
        	}
    	}
    	else {
    		
    	}
        }
        System.out.print((b-a));
        
	}
	
}

2.念整数

我在最后一位数后没有空格的地方处理的不是很好,导致又多出来了判断, 还有只有1位数的时候,应该如何简化程序,这都是我后面应该做的

package hello;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// 初始化
		
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = 0;
        int s = 0;
        if(n<0) {
        	System.out.print("fu ");
        	n=-n;
        }
//        if(n==0) {
//        	System.out.print("ling");
//        }
        int k = n;
        while(n > 0) {
        	m = n%10;
        	n = n/10;
        	s = s+1;
        	//System.out.print(m+""+s+" ");
        }
        if(k>=10) {
        int v =0;
        for(int a = s-1;a>0;a--) {
        	
        	v = k/((int)Math.pow(10,a)) ;
        	v = v%10;
        	switch(v) {
        	case 0:
        		System.out.print("ling"+" ");
        		break;
        	case 1:
        		System.out.print("yi"+" ");
        		break;
        	case 2:
        		System.out.print("er"+" ");
        		break;
        	case 3:
        		System.out.print("san"+" ");
        		break;
        	case 4:
        		System.out.print("si"+" ");
        		break;
        	case 5:
        		System.out.print("wu"+" ");
        		break;
        	case 6:
        		System.out.print("liu"+" ");
        		break;
        	case 7:
        		System.out.print("qi"+" ");
        		break;
        	case 8:
        		System.out.print("ba"+" ");
        		break;
        	case 9:
        		System.out.print("jiu"+" ");
        		break;
        	}

        	
        }
    	v = k%10;
    	switch(v) {
    	case 0:
    		System.out.print("ling");
    		break;
    	case 1:
    		System.out.print("yi");
    		break;
    	case 2:
    		System.out.print("er");
    		break;
    	case 3:
    		System.out.print("san");
    		break;
    	case 4:
    		System.out.print("si");
    		break;
    	case 5:
    		System.out.print("wu");
    		break;
    	case 6:
    		System.out.print("liu");
    		break;
    	case 7:
    		System.out.print("qi");
    		break;
    	case 8:
    		System.out.print("ba");
    		break;
    	case 9:
    		System.out.print("jiu");
    		break;
    	}
	}
        else
        {
        	switch(k) {
        	case 0:
        		System.out.print("ling");
        		break;
        	case 1:
        		System.out.print("yi");
        		break;
        	case 2:
        		System.out.print("er");
        		break;
        	case 3:
        		System.out.print("san");
        		break;
        	case 4:
        		System.out.print("si");
        		break;
        	case 5:
        		System.out.print("wu");
        		break;
        	case 6:
        		System.out.print("liu");
        		break;
        	case 7:
        		System.out.print("qi");
        		break;
        	case 8:
        		System.out.print("ba");
        		break;
        	case 9:
        		System.out.print("jiu");
        		break;
        	}	
        }
        }
	
}

我马上就发现,根本即不用去管1位数的情况,哎呀

package hello;

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// 初始化
		
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int m = 0;
        int s = 0;
        if(n<0) {
        	System.out.print("fu ");
        	n=-n;
        }
//        if(n==0) {
//        	System.out.print("ling");
//        }
        int k = n;
        while(n > 0) {
        	m = n%10;
        	n = n/10;
        	s = s+1;
        	//System.out.print(m+""+s+" ");
        }
        
        int v =0;
        for(int a = s-1;a>0;a--) {
        	
        	v = k/((int)Math.pow(10,a)) ;
        	v = v%10;
        	switch(v) {
        	case 0:
        		System.out.print("ling"+" ");
        		break;
        	case 1:
        		System.out.print("yi"+" ");
        		break;
        	case 2:
        		System.out.print("er"+" ");
        		break;
        	case 3:
        		System.out.print("san"+" ");
        		break;
        	case 4:
        		System.out.print("si"+" ");
        		break;
        	case 5:
        		System.out.print("wu"+" ");
        		break;
        	case 6:
        		System.out.print("liu"+" ");
        		break;
        	case 7:
        		System.out.print("qi"+" ");
        		break;
        	case 8:
        		System.out.print("ba"+" ");
        		break;
        	case 9:
        		System.out.print("jiu"+" ");
        		break;
        	}

        	
        }
    	v = k%10;
    	switch(v) {
    	case 0:
    		System.out.print("ling");
    		break;
    	case 1:
    		System.out.print("yi");
    		break;
    	case 2:
    		System.out.print("er");
    		break;
    	case 3:
    		System.out.print("san");
    		break;
    	case 4:
    		System.out.print("si");
    		break;
    	case 5:
    		System.out.print("wu");
    		break;
    	case 6:
    		System.out.print("liu");
    		break;
    	case 7:
    		System.out.print("qi");
    		break;
    	case 8:
    		System.out.print("ba");
    		break;
    	case 9:
    		System.out.print("jiu");
    		break;
    	}
        }
	
}

猜你喜欢

转载自blog.csdn.net/qq_912917507/article/details/82945898