萌新问个问题 java 求随机数的第任意位上的数字

cl10086901 2018-04-05 04:11:33
比如生成a位随机数 我想求出第n位怎么写代码 (n < a )
...全文
720 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ftl111 2018-04-14
  • 打赏
  • 举报
回复
兄弟,结个贴呀
bug狂人 2018-04-06
  • 打赏
  • 举报
回复
思路:产出两组随机数,第二组是以第一组长度为最大值的,这样就可以保证随机取随机数里的数了
cl10086901 2018-04-06
  • 打赏
  • 举报
回复
引用 2 楼 ftl111 的回复:

public static void main(String[] args) {
		// 比如生成a位随机数  我想求出第n位怎么写代码   (n < a )
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入随机数的位数:");
		int a = scanner.nextInt();
		int b=1;
		for (int i = 0; i < a; i++) {
			b*=10;
		}
		double random = Math.random();
		System.out.println(random);
		//得到一个a位随机数
		int x=(int)(random*b);
		System.out.println(x);
		if (x>=b/10) {
			System.out.println("你想求出第几位:");
			int n = scanner.nextInt();
			int c=1;
			for (int i = 0; i < a-n; i++) {
				c*=10;
			}
			System.out.println((x/c)%10);
		}else{
			System.out.println(x+"生成的随机数不是"+a+"位数!");
		}
		scanner.close();
	}
- -多谢 我写了一大堆代码,,,
ftl111 2018-04-05
  • 打赏
  • 举报
回复

public static void main(String[] args) {
// 比如生成a位随机数 我想求出第n位怎么写代码 (n < a )
Scanner scanner=new Scanner(System.in);
System.out.println("请输入随机数的位数:");
int a = scanner.nextInt();
int b=1;
for (int i = 0; i < a; i++) {
b*=10;
}
double random = Math.random();
System.out.println(random);
//得到一个a位随机数
int x=(int)(random*b);
System.out.println(x);
if (x>=b/10) {
System.out.println("你想求出第几位:");
int n = scanner.nextInt();
int c=1;
for (int i = 0; i < a-n; i++) {
c*=10;
}
System.out.println((x/c)%10);
}else{
System.out.println(x+"生成的随机数不是"+a+"位数!");
}
scanner.close();
}


yjsl__ 2018-04-05
  • 打赏
  • 举报
回复
a模10 (a%10) 取到最低位 a=a/10,把a变成去掉最低位的新a 反复循环,每一位都能拿到

50,706

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧