将C语言转换成java语言

问题遇到的现象和发生背景

将C语言转换成java语言

用代码块功能插入代码,请勿粘贴截图
#include 
#include   //rand()、srand()函数调用
#include     //使用当前时钟做种子
#include 
#include 

int ichoice()    /*选择操作参数*/
{
    int mychoice;
     system("CLS");//清屏 
     printf("\n");
     printf("            程序设计与实践                 实验(一)随机数及其应用\n");
     printf("\n");
    printf("      ------随机数及其应用------           \n");
    printf("\n");
    printf("      1 - 求随机数分布情况.\n");
    printf("      2 - '35选7'福利彩券摇奖器.\n");
    printf("      3 - 'x选y'通用福利彩券摇奖器.\n"); 
    printf("      0 - 结  束.\n");
    printf("\n");
    printf("  请输入你的选择:");
    scanf("%d",&mychoice);
    return mychoice;
}

int random_100()//1到100随机数 
{
    int m;
    m=rand()%100+1;
    return m;
}

int random(int a,int b)//x到y随机数 
{
    int m;
    m=rand()%(b-a+1)+a;
    return m;
}

int sjs100()/*求随机数分布情况*/
{
    int a[101]={0};//用以计数 
    int n;
    printf("\n");
    printf("求随机数分布情况\n");
    for(int i=1;i<=10000;i++){
        n=random_100();//调用随机数1-100生成函数 
        a[n]++;
    }
    for(n=1;n<=100;n+=4){
        printf("%3d:--%3d    %3d:--%3d    %3d:--%3d    %3d:--%3d\n",n,a[n],n+1,a[n+1],n+2,a[n+2],n+3,a[n+3]);
    }
    return 0;
}

int x_x()/*"35选7" 福利彩券摇奖器*/
{
    int b[36]={0};//初始化 并登记序号状态  0未取出  1已取出
    printf("\n");
    printf("‘35选7’福利彩券摇奖器产生的结果:\n");//35  不放回取出 
    int k;
    for(int i=0;i<7;i++){//计数器i,确保最终结果输出7个随机数 
        k=random(1,35);//1到35随机数 
        if(b[k]==0){  
            printf("%5d\n",k);//如果未取出,则输出此数 
            b[k]=1; //并标记为已取出 
        }
        else    i--;//如果该随机数已取出,则计数器i-1 
    } 
    return 0;
}

int x_y()/*"x选y"通用福利彩券摇奖器*/
{
    int x,y;
    printf("\n");
    printf("‘x选y’通用彩券摇奖器,请输入x和y:");
    scanf("%d%d",&x,&y);
    int b[x+1]={0};
    printf("‘%d选%d’福利彩券摇奖器产生的结果:\n",x,y);
    int k;
    for(int i=0;irandom(1,x);//1到x随机数 
        if(b[k]==0){
            printf("%5d\n",k);
            b[k]=1;
        }
        else    i--;
    }
    return 0;
}

int main(void)
{
    int choice;
    srand((unsigned)time(NULL));// 使用每一次运行程序的时间作为随机数种子,之后用rand产生不可预见的随机序列 
    while((choice=ichoice())!=0)
    {
        switch(choice)
        {
            case 1:
                 sjs100();system("pause");break;/*求随机数分布情况*/
            case 2:
                x_x();system("pause");break;   /*"35选7" 福利彩券摇奖器*/
            case 3:
                x_y();system("pause");break;   /*"x选y"通用福利彩券摇奖器*/
            default:
                printf("Input Error.");system("pause");break;
        }
    }
    return 0;
}




import java.util.Random;
import java.util.Scanner;

public class Answer7831546 {

    static int ichoice() /* 选择操作参数 */
    {
        int mychoice;
        // 清屏
        System.out.printf("\n");
        System.out.printf("            程序设计与实践                 实验(一)随机数及其应用\n");
        System.out.printf("\n");
        System.out.printf("      ------随机数及其应用------           \n");
        System.out.printf("\n");
        System.out.printf("      1 - 求随机数分布情况.\n");
        System.out.printf("      2 - '35选7'福利彩券摇奖器.\n");
        System.out.printf("      3 - 'x选y'通用福利彩券摇奖器.\n");
        System.out.printf("      0 - 结  束.\n");
        System.out.printf("\n");
        System.out.printf("  请输入你的选择:");
        mychoice = new Scanner(System.in).nextInt();
        return mychoice;
    }

    int random_100()// 1到100随机数
    {
        int m;
        m = new Random().nextInt(100) + 1;
        return m;
    }

    int random(int a, int b)// x到y随机数
    {
        int m;
        m =  new Random().nextInt(b-a+1) + a;
        return m;
    }

    static int sjs100()/*求随机数分布情况*/
    {
        int a[]=new int[101];//用以计数 
        int n;
        System.out.printf("\n");
        System.out.printf("求随机数分布情况\n");
        for(int i=1;i<=10000;i++){
            n=new Random().nextInt(100) + 1;//调用随机数1-100生成函数 
            a[n]++;
        }
        for(n=1;n<=100;n+=4){
            System.out.printf("%3d:--%3d    %3d:--%3d    %3d:--%3d    %3d:--%3d\n",n,a[n],n+1,a[n+1],n+2,a[n+2],n+3,a[n+3]);
        }
        return 0;
    }

    static int x_x()/*"35选7" 福利彩券摇奖器*/
    {
        int b[]=new int[36];//初始化 并登记序号状态  0未取出  1已取出
        System.out.printf("\n");
        System.out.printf("‘35选7’福利彩券摇奖器产生的结果:\n");//35  不放回取出 
        int k;
        for(int i=0;i<7;i++){//计数器i,确保最终结果输出7个随机数 
            k=new Random().nextInt(35) + 1;//1到35随机数 
            if(b[k]==0){  
                System.out.printf("%5d\n",k);//如果未取出,则输出此数 
                b[k]=1; //并标记为已取出 
            }
            else    i--;//如果该随机数已取出,则计数器i-1 
        } 
        return 0;
    }

    static int x_y()/*"x选y"通用福利彩券摇奖器*/
    {
        int x,y;
        Scanner input = new Scanner(System.in);
        System.out.printf("\n");
        System.out.printf("‘x选y’通用彩券摇奖器,请输入x和y:");
        x=input.nextInt();
        y=input.nextInt();
        
        int b[]=new int[x+1];
        System.out.printf("‘%d选%d’福利彩券摇奖器产生的结果:\n",x,y);
        int k;
        for(int i=0;i<y;i++){
            k=new Random().nextInt(x) + 1;//1到x随机数 
            if(b[k]==0){
                System.out.printf("%5d\n",k);
                b[k]=1;
            }
            else    i--;
        }
        return 0;
    }

    public static void main(String[] args) {

        int choice;
      
        while((choice=ichoice())!=0)
        {
            switch(choice)
            {
                case 1:
                     sjs100();break;/*求随机数分布情况*/
                case 2:
                    x_x();break;   /*"35选7" 福利彩券摇奖器*/
                case 3:
                    x_y();break;   /*"x选y"通用福利彩券摇奖器*/
                default:
                    System.out.printf("Input Error.");;break;
            }
        }
       
    }
}

需求是什么,直接根据需求写java代码。

主要就是 printf改成 System.out.println( ); sacnf改成 Scanner scanner=new Scanner(System.in); int mychoice=scanner.nextInt(); 其他的都差不多啊

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632