gpt4 book ai didi

java - 读取两个(不同的)数字( float )组成的字符串。输出更大的数字。不要使用 “if”

转载 作者:太空宇宙 更新时间:2023-11-04 14:23:03 25 4
gpt4 key购买 nike

这道题需要使用异常处理(try-catch)来完成。

我尝试将字符串分成 4 个不同的整数。两个用于整数部分,另外两个用于小数部分。

但我仍然不知道如何用它生成错误。

对于 2 个整数,我的答案是,

import java.lang.*;
import java.util.*;
class s7
{
public static void main(String args[])
{
int a,b,c;
String str;
Scanner sc=new Scanner(System.in);
str=sc.nextLine();
StringTokenizer st=new StringTokenizer(str," ");
a=Integer.parseInt(st.nextToken());
b=Integer.parseInt(st.nextToken());
c=a/b;
try
{
int d=20/c;
System.out.println("Bigger: "+a);
}
catch(Exception e)
{
System.out.println("Bigger: "+b);
}
}
}

最佳答案

假设数字不能为负数,您可以尝试将一个数字除以另一个数字,例如 x/y

  • 如果 x<y你会得到小于 1 的数字,如 0.xxxxxx
  • 如果 x>=y你会得到大于或等于 1 的数字,如 1.xxxx2.xxxx等等。

现在要去掉小数部分,我们需要做的就是将这个数字转换为 int (我认为数字没有那么大)。这样对于 x=y` 你将获得更大的值。

所以现在的问题是测试是否 (int)x/y0或不。

要测试它,您可以尝试使用数组和 IndexOutOfBoundsException 。只需创建一个可以包含一个元素的数组 new SomeType[1]并尝试使用类似 array[(int)x/y] 的结果访问此元素。如果您能够做到,请打印 y (因为结果为 0,所以是 x<y 的情况),如果您捕获 IOB 异常,则打印 x .

关于java - 读取两个(不同的)数字( float )组成的字符串。输出更大的数字。不要使用 “if”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26980427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com