黑马程序员技术交流社区

标题: 随机生成 2 个 10 位的整数,并计算 2 个整数的乘积。 [打印本页]

作者: UserBitch    时间: 2016-3-26 23:43
标题: 随机生成 2 个 10 位的整数,并计算 2 个整数的乘积。
用JAVA怎么写呀 求帮帮忙


作者: UserBitch    时间: 2016-3-26 23:51
帮帮忙嘛 有人嘛有人嘛
作者: xiepan    时间: 2016-3-27 00:24
使用BigInteger可以
作者: UserBitch    时间: 2016-3-27 00:39
xiepan 发表于 2016-3-27 00:24
使用BigInteger可以

怎么写呀 可以麻烦你贴一下全码吗
作者: adomwon    时间: 2016-3-27 08:54
多看下视频教程比较好,贴出来也跟老师讲的一样,而且还不一定有老师的详细
作者: 「AτS」    时间: 2016-3-27 16:21
  1. Random r =new Random();
  2.                 int d1=r.nextInt(90)+10;    //生成0~89之间的随机数,然后加10,使得值变成10~99
  3.                 int d2 = r.nextInt(90)+10;
  4.                 int sum =d1*d2;
  5.                 System.out.println(d1 +"*"+d2+"="+sum);
复制代码
[size=-1]util包的Random类 代码要吃透



作者: Max灬xu    时间: 2016-3-27 20:46
输入要求随机数的个数,就可以得到几个随机数的积
import java.util.Scanner;
import java.util.Random;
class MyProduct{
        public static void main (String[] agrs) {
                int pro=1;
                int b=numIn();
                for(int i=0;i<b;i++) {
                        int a=ran();
                        pro*=a;
                        System.out.print(a+"  ");
                }
                System.out.println();
        System.out.print("以上随机数的积是:"+pro);
        }
        public static int ran() {   //生成随机数
                Random ra =new Random();
                int num=ra.nextInt(90)+10;
                return num;
        }
        public static int numIn() {   //输入随机数个数
                Scanner sc=new Scanner(System.in);
                int num=sc.nextInt();
                return num;
        }
}
                               
作者: gaoduilaile    时间: 2016-3-28 00:18
public static void main(String[] args) {
                Random r=new Random();               
                        //for (int i = 0; i < 2; i++) {
                                int x=r.nextInt(90)+10;
                                int y=r.nextInt(90)+10;
                                System.out.println(x);
                                System.out.println(y);
                                System.out.print(x*y+" ");
                        //}
               
        }
作者: lavenderlmm    时间: 2016-3-28 11:14
/*
* 随机生成 2 个 10 位的整数,并计算 2 个整数的乘积*/
package com.itheima.luntan;

//导入包
import java.util.Random;
public class RandomNumber {
       
        public static void main(String[] args) {
                //创建随机数对象
                Random rm = new Random();

                int num1 = rm.nextInt(11)+ 10;
                System.out.println("num1 = " + num1);
                int num2 = rm.nextInt(11) + 10;
                System.out.println("num2 = " + num2);
               
                int chengJi = num1 * num1;
                System.out.println("num1 * num2 = " + chengJi);               
        }

}
作者: fanxiaolin    时间: 2016-3-28 17:21
可能需要选择排序解决
作者: 武震震    时间: 2016-3-30 18:22
  1. public class L {
  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 System.out.println(Random ()*Random ());//调用两次生成随机数的方法,输出他们的积
  7.         }
  8.         /**
  9.          * 生成两位数的方法
  10.          * @return
  11.          */
  12.         public static int Random (){
  13.                 while(true){
  14.                         int a = (int)(Math.random()*100);        //用random生成1-100的随机数,这里需要强转
  15.                         if (a >= 10 && a <= 99){                        //加一个限定10-99之内才返回
  16.                                 return a;
  17.                         }
  18.                 }
  19.         }
  20. }
复制代码



作者: kingblue    时间: 2016-4-1 00:08
用Math.random()函数即可,会随机给出一个数
作者: adomwon    时间: 2016-4-1 15:43
题好做,有分拿吗{:2_32:}
作者: kcufow    时间: 2016-4-6 21:13
这数据应该做不了吧,两个10位数相乘都20位数了长度太长了不能存放吧
作者: 小白想学javaEE    时间: 2016-4-7 14:37
Random r=newRandom();
int a=r.nextInt(10);
int b=r.nextInt(10);
int fun(int a,int b){
    return a*b;
}
System.out.println(a+"*"+b+"="+fun());
其他自己加
作者: 小白想学javaEE    时间: 2016-4-7 14:38
额,最后一句忘了添加参数
作者: luo545753906    时间: 2016-4-9 22:19
import java.util.Scanner;
import java.util.Random;
class MyProduct{
        public static void main (String[] agrs) {
                int pro=1;
                int b=numIn();
                for(int i=0;i<b;i++) {
                        int a=ran();
                        pro*=a;
                        System.out.print(a+"  ");
                }
                System.out.println();
        System.out.print("以上随机数的积是:"+pro);
        }
        public static int ran() {   //生成随机数
                Random ra =new Random();
                int num=ra.nextInt(90)+10;
                return num;
        }
        public static int numIn() {   //输入随机数个数
                Scanner sc=new Scanner(System.in);
                int num=sc.nextInt();
                return num;
        }
}
作者: 北极1989    时间: 2016-4-10 18:24
解决了没有?
作者: 向前爬的虫子    时间: 2016-4-17 17:56
没研究过底层算法
作者: _eight_brother    时间: 2016-4-21 18:28
  1. public static void main(String[] args) {
  2.                 //创建随机对象
  3.                 Random random=new Random(System.currentTimeMillis());
  4.                 //第一个数
  5.                 String firstNum="";
  6.                 //第二个数
  7.                 String secondNum="";
  8.                 //生成两个随机的10位数字
  9.                 for(int i=0;i<10;i++){
  10.                         //生成1-10之间的随机数
  11.                         int r=random.nextInt(10)+1;
  12.                         //字符串连接
  13.                         firstNum+=r;
  14.                 }
  15.                 for(int i=0;i<10;i++){
  16.                         //生成1-10之间的随机数
  17.                         int r=random.nextInt(10)+1;
  18.                         //字符串连接
  19.                         secondNum+=r;
  20.                 }
  21.                 //将字符串转换成BigDecimal类型的数据
  22.                 BigDecimal num1=new BigDecimal(firstNum);
  23.                 BigDecimal num2=new BigDecimal(secondNum);
  24.                 //计算 2 个数的乘积
  25.                 BigDecimal result=num1.multiply(num2);
  26.                 //输出结果
  27.                 System.out.println(firstNum+"*"+secondNum+"="+result);
  28.         }
复制代码

作者: jacobsnow    时间: 2016-4-21 22:56
「AτS」 发表于 2016-3-27 16:21
util包的Random类 代码要吃透

话说,您这个是怎么做到了。 能左边出现序号(01. 02. 03. 04.)?????
作者: jacobsnow    时间: 2016-4-21 22:57
武震震 发表于 2016-3-30 18:22

话说,您这是怎么做到的。 左边显示 01. 02. 03.……
作者: 「AτS」    时间: 2016-4-22 10:33
jacobsnow 发表于 2016-4-21 22:56
话说,您这个是怎么做到了。 能左边出现序号(01. 02. 03. 04.)?????

你在写帖子或者回复帖子时候, 如果要贴上你的代码, 在写的时候, 找到 <> 这个工具, 然后把代码粘贴上去, 自动有的, 是专门显示代码的
作者: jacobsnow    时间: 2016-4-22 23:34
「AτS」 发表于 2016-4-22 10:33
你在写帖子或者回复帖子时候, 如果要贴上你的代码, 在写的时候, 找到  这个工具, 然后把代码粘贴上去, 自 ...

号的,谢了
作者: 「AτS」    时间: 2016-6-21 16:07
「AτS」 发表于 2016-3-27 16:21
util包的Random类 代码要吃透

我的很正常啊

捕获.PNG (92.36 KB, 下载次数: 21)

捕获.PNG

作者: linguoqun    时间: 2016-8-1 22:37
确定要十位的整数吗?十位?十位的数很大的。如果是楼主不小心打错的话,如果题目只是随机生成两个两位数,那么下面就是实现代码,请阅:import java.util.Random;

public class test1 {

       
       
        public static void main(String[] args)
        {
               
                Random r=new Random();
                //随机生成两个10-99的两位数
                int num1=r.nextInt(90)+10;
                int num2=r.nextInt(90)+10;
                int res=num1*num2;
                System.out.printf("生成的随机数分别是:%d,%d,它们的和是:%d",num1,num2,res);
        }
       
       
}
纯手打的,满意请采纳,谢谢!
作者: cjc147    时间: 2016-9-9 01:52
import java.util.Random;
import java.math.BigInteger;

class Demo {
        public static void main(String[] args) {
                /*
                随机生成 2 个 10 位的整数,并计算 2 个整数的乘积。

                分析:
                        生成随机数需要用到Random类的nextInt方法
                */

                Random r = new Random();                                                //创建Random类的对象
               
                BigInteger num1 = getInt(r);                                        //调用方法,生成一个10位的随机生成的整数
                BigInteger num2 = getInt(r);                                        //调用方法,生成一个10位的随机生成的整数

                BigInteger result = num1.multiply(num2);                //计算两个整数的乘积
               
                System.out.println("计算的结果是:");
                System.out.println(num1 + " * " + num2 + " = " + result);        //打印计算结果
        }

        /*
        定义一个随机生成10位数的整数方法
        1.返回值类型:BigInteger(考虑到生成的数比较大,long可能存不下,所以用BigInteger类存)
        2.参数列表:Random r
        */
        public static BigInteger getInt(Random r) {
                StringBuffer sb = new StringBuffer();                        //创建一个StringBuffer对象,存放生成的随机数

                for (int i = 0; i < 10 ; i++ ) {                                //循环生成随机数
                        sb.append(r.nextInt(10));                                        //将生成的随机数放在StringBuffer对象中
                }

                return new BigInteger(sb.toString());                        //用String对象创建BigInteger对象,返回结果
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2