十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
java实现比较键盘输入的3个数的大小,输出大数的步骤如下:
创新互联是一家专注于网站制作、成都网站设计与策划设计,滨海新区网站建设哪家好?创新互联做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:滨海新区等地区。滨海新区做网站价格咨询:13518219792
1、打开Eclipse,创建一个Java工程,在此工程中新建一个Java类;
2、在新建的Java类中利用Scanner类获取键盘输入的三个数,并且分别赋值给变量a,b,c;
3、添加一个比较两个数的方法,将随机两个数进行比较,再让返回的最大值与最后一个值进行比较,即可得出最大值。
具体实现代码如下:
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
int a,b,c;
Scanner scan = new Scanner(System.in);
System.out.println("请输入三个数");
//键盘输入三个数
a = scan.nextInt();
b = scan.nextInt();
c = scan.nextInt();
System.out.println("最大值为:" + getMax(c, getMax(a, b)));
}
//比较方法
private static int getMax(int x,int y){
return x y ? x : y;
}
}
存储100的阶乘,这种超大数字,java 还是提供了一些类的比如
1: 使用BigInteger或者 BigDecimal...
import java.math.BigDecimal;
import java.math.BigInteger;
// 测试类
public class Demo {
public static void main(String[] args) {
BigDecimal s1 = jieCheng(100);//BigDecimal存100的阶乘还是没有问题的
BigInteger bi=s1.toBigInteger();//BigInteger存100的阶乘也可以
System.out.println(bi);
System.out.println(s1);
}
public static BigDecimal jieCheng(int num) {
BigDecimal sum = new BigDecimal("1");
if (num 0) {
throw new IllegalArgumentException("参数不能为负!");
}
for (int i = 1; i = num; i++) {
sum =sum.multiply(new BigDecimal(i));//循环进行累乘
}
return sum;// 返回结果字符串
}
}
如果是BigDecimal都处理不了超大数字, 那么可以使用String来存储
String str ="123...";//这种方式,是明文写入代码的,字符串长度不能太长.
所以太长的文本应该写入字符串文本中. 使用的时候使用IO进行读取
import java.math.*;
import java.util.*;
这两行是调用API文档中现有的类,其实全称可以按如下的方式写:
import java.math.BigInteger;
import java.util.Scanner;
因为你调用的 BigInteger和Scanner方法是从上面的math和util包中调用的,所以必须指明,否则就会出错。
Scanner in = new Scanner(System.in);
这个是一个要你输入的语句。
在API文档中说明如下:
Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
例如,以下代码使用户能够从 System.in 中读取一个数:
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
再看一个例子,以下代码使 long 类型可以通过 myNumbers 文件中的项分配:
Scanner sc = new Scanner(new File("myNumbers"));
while (sc.hasNextLong()) {
long aLong = sc.nextLong();
}
对于
BigInteger lotteryOdds = BigInteger.valueOf(1);
中的valueOf()方法,这个也是API文档中的,方法如下:
valueOf
public static BigInteger valueOf(long val)返回其值等于指定 long 的值的 BigInteger。提供的此“静态工厂方法”优先于 (long) 构造方法,因为前者允许重用经常使用的 BigInteger。
参数:
val - 要返回的 BigInteger 的值。
返回:
具有指定值的 BigInteger。
-----------------------------------------
以上就是这个程序的关键点,其实没有什么知识点,就是查询java的API文档。
你应该是初学者吧,因为感觉还不会用文档。那你就到网上搜索API文档,有中文和英文的,你下载后就慢慢学习使用,大约40多M。
API文档是你学习java和以后java开发的必需具备的文档。给你举个例子,就你上面的程序,对于BigInteger类和valueOf()这个方法,我开始根本就不知道,但你在了解文档后你就会使用了。在你编程的时候,你需要数学方法,那就一定得去
java.math的包中查找,然后看每个类,这样你就知道用哪个方法了。
记住:没有谁能把API文档中的方法都记住,而且也没有意义去记住。API文档就相当于字典。