您的位置:首页 > 其它

uva 465 Overflow

2013-09-20 15:45 369 查看
又是一道大数的题目,可以直接用Java解决,用C++处理起来比较麻烦

import java.math.BigDecimal;
import java.util.Scanner;

public class Main
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
Scanner str_scan;
String s = "";
String temp;
BigDecimal num1, num2, max, res;
max = new BigDecimal(Integer.MAX_VALUE);
String oper;
while(scanner.hasNextLine())
{
s = scanner.nextLine();
str_scan = new Scanner(s);

temp = str_scan.next();
num1 = new BigDecimal(temp);
oper = str_scan.next();
temp = str_scan.next();
num2 = new BigDecimal(temp);

/*
System.out.println("num="+num1);
System.out.println("oper:"+oper);
System.out.println("num2="+num2);
*/

System.out.println(s);
if(num1.compareTo(max) > 0)
{
System.out.println("first number too big");
}
if(num2.compareTo(max) > 0)
{
System.out.println("second number too big");
}

if(oper.compareTo("+") == 0)
{
res = num1.add(num2);
}
else
{
res = num1.multiply(num2);
}

if(res.compareTo(max) > 0)
{
System.out.println("result too big");
}
}
}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm uva