Java和C的随机数(Random)详解

 更新时间:2021年09月27日 15:27:10   作者:执久呀  
本篇文章主要介绍了Java和C随机数(Random),现在分享给大家,也给大家做个参考,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

一、前言

前面我们学习了Java中的运算符,对运算符也有一些了解了,现在我们来学习一个

新的但且非常有意思的---随机数,随机数的用处在生活中比较少见,但是用处并不少,

比如一些小游戏的制作等等。

二、随机数的创建步骤

1.导包

所谓导包就是在Java中已经定义好的文件,我们直接引用过来即可

随机数导包:

import java.util.Random;

2.创建对象:

其实创建对象就是在开辟内存空间

随机数创建对象:

Random d=new Random(); 其中d是任意起的变量名,其余形式格式固定

3.数据接收

数据接收就是创建一个变量去接受产生的随机数。

接受随机数:

int num=d.nextInt;其中d是上面开辟空间的变量名

三、Java随机数游戏

这个我是加了一些其他功能,简洁的猜数字可以很短(手动🐕头)

代码:

package com;
import java.util.Random;//导入随机数包
import java.util.Scanner;//导入输入包
public class 猜数字游戏 {
    public static void main(String[] args) {
        Scanner ss=new Scanner(System.in);//创建对象
        猜数字游戏 c=new 猜数字游戏();//创建对象
         c.menu();//打印菜单
        System.out.print("请选择");
        int input=ss.nextInt();//接收输入的数字
        switch(input){
            case 0:{
                System.out.println("退出游戏");return;
            }
            case 1:{
                c.game();break;
            }
            default:{
                System.out.println("输入错误");
            }
        }
    }
        public static void menu(){
            System.out.println("********************************");
            System.out.println("*********1.开始游戏**************");
            System.out.println("*********0.退出游戏**************");
            System.out.println("********************************");
    }
    public static void game(){
        Random d=new Random();//创建随机数对象
        Scanner sc=new Scanner(System.in);//创建输入对象
        int i=d.nextInt(100)+1;//接受产生的随机数,设置范围在1-100
        System.out.print("请输入你猜的数字");
        int count=0;//创建一个变量去计猜了几次
        while(true){
            count++;
            int shu=sc.nextInt();//接收输入的数字
            if(shu>i){
                System.out.print("猜大了***第"+(count+1)+"次猜");
            }
            else if(shu<i){
                System.out.print("猜小了***第"+(count+1)+"次猜");
            }
            else  {
                System.out.println("***恭喜你***猜对了****\n一共猜了"+count+"次!!!"); break;
            }
        }
    }
}

演示图:

四、 c语言的猜数字示例图:

代码:

#define  _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
	printf("******************************************\n");
	printf("********1.开始游戏************************\n");
	printf("*********0.退出游戏***********************\n");
	printf("******************************************\n");
}
void game()
{
	int sum = 0;
	int guess = 0;
	int count = rand() % 100+ 1;
	printf("请输入你猜的数字\n");
	while (1)
	{    sum++;
		scanf("%d", &guess);
		if (guess > count)
		{
			printf("猜大了,第%d次猜\n", sum+1);
		}
		else if (guess < count)
		{
			printf("猜小了 ,第%d次猜\n",sum+1);
		}
		else
		{
			printf("猜对了,一共猜了%d次\n",sum); break;
		}
		if (sum >= 8)
		{
			printf("\n不行啊还没猜对,答案是%d\n", count);
		}
	}
}
int main()
{
	int a = 0;
	srand((unsigned int)time(NULL));
	do{
		menu();
		printf("请选择");
		scanf("%d", &a);
		switch (a)
		{
		case 1:
			game(); break;
		case 0:
			printf("退出游戏");
		default:
			printf("输入错误,重新输入"); break;
		}
	} while (a);
	system("pause");
	return 0;
}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • Springboot重写addInterceptors()方法配置拦截器实例

    Springboot重写addInterceptors()方法配置拦截器实例

    这篇文章主要介绍了Springboot重写addInterceptors()方法配置拦截器实例,spring boot抛弃了复杂的xml配置,我们可以自定义配置类(标注@Configuration注解的类)来实现WebMvcConfigurer接口,并重写addInterceptors()方法来配置拦截器,需要的朋友可以参考下
    2023-09-09
  • Mybatis批量更新数据库错误问题

    Mybatis批量更新数据库错误问题

    这篇文章主要介绍了Mybatis批量更新数据库错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • IDEA报错java.lang.OutOfMemoryError:Java heap space的解决办法

    IDEA报错java.lang.OutOfMemoryError:Java heap space的解决办法

    这篇文章主要给大家介绍了关于IDEA报错java.lang.OutOfMemoryError:Java heap space的解决办法,出现这个问题的主要原因是项目运行时的堆内存不足引起的报错,需要的朋友可以参考下
    2024-02-02
  • 面试总结:秒杀设计、AQS 、synchronized相关问题

    面试总结:秒杀设计、AQS 、synchronized相关问题

    Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧
    2021-06-06
  • Java doGet, doPost方法和文件上传实例代码

    Java doGet, doPost方法和文件上传实例代码

    这篇文章主要介绍了Java doGet, doPost方法和文件上传实例代码的相关资料,需要的朋友可以参考下
    2016-11-11
  • 最新IntelliJ IDEA 2020版本的安装教程详解

    最新IntelliJ IDEA 2020版本的安装教程详解

    这篇文章主要介绍了最新IntelliJ IDEA 2020版本的安装教程详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • Java基础篇之分布式版本控制工具Git

    Java基础篇之分布式版本控制工具Git

    Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件
    2021-10-10
  • java比较器Comparable接口与Comaprator接口的深入分析

    java比较器Comparable接口与Comaprator接口的深入分析

    本篇文章是对java比较器Comparable接口与Comaprator接口进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • springboot全局字符编码设置解决乱码问题

    springboot全局字符编码设置解决乱码问题

    这篇文章主要介绍了springboot全局字符编码设置解决乱码问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • 详解Spring AOP 实现主从读写分离

    详解Spring AOP 实现主从读写分离

    本篇文章主要介绍了Spring AOP 实现主从读写分离,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03

最新评论