雪墨810 2022-11-09 14:47 采纳率: 81.3%
浏览 81
已结题

将C语言转换成java语言

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

将C语言转换成java语言

用代码块功能插入代码,请勿粘贴截图
#include <stdio.h>
#include <stdlib.h>  //rand()、srand()函数调用
#include <time.h>    //使用当前时钟做种子
#include <process.h>
#include <string.h>

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;i<y;i++){
        k=random(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;
}



  • 写回答

5条回答 默认 最新

  • WaitIKnowYou 2022-11-09 15:16
    关注
    
    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;
                }
            }
           
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 11月17日
  • 已采纳回答 11月9日
  • 创建了问题 11月9日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。