gpt4 book ai didi

java - 以下代码不会使用某些输入执行

转载 作者:搜寻专家 更新时间:2023-11-01 01:42:11 24 4
gpt4 key购买 nike

很抱歉问了这么基础的问题,伙计们。但我是编程初学者。不是电脑人。所以请帮助我。在此代码中,当我输入 10000000001000000000999999999 时,答案应该是 4。但我的答案是 1。我希望 if 语句要执行,但它不在此处执行。

如果以m*n为一个房间,以“a”为边为正方形瓷砖。然后我想数 MINIMUM 没有。铺满房间地板所需的瓷砖数量。瓷砖可能会覆盖更多的区域,但不应让房间空着。这是我的目标。它适用于 6、6、4 或 15、20、13 等输入。

现在是工作人员。我已经发布了正确的代码,并在下面做了一些小的改动。

import java.util.Scanner;
public class TheatreSquare {
private static Scanner input;
public static void main(String[] args) {
input = new Scanner(System.in);
float m=input.nextFloat();
float n=input.nextFloat();
float a=input.nextFloat();
long i=(int)(m/a);
long j=(int)(n/a);

if((a*a*i*j)<m*n){

if(a*i<m){
//to check weather it is entering if()
System.out.println("true");
i+=1;
}
if(a*j<n){
System.out.println("false");
//to check weather it is entering if()
j+=1;
}
}
System.out.println((double)(i*j));
}
}

最佳答案

当你将它们相乘时,你的 float 溢出了。将 mna 定义为 double 将解决问题:

double m = input.nextDouble();
double n = input.nextDouble();
double a = input.nextDouble();

关于java - 以下代码不会使用某些输入执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30527223/

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