java - java中的for循环有什么问题

标签 java arrays count

我编写了一些代码,但我遇到了数组问题:

public class array {
public static void main (String[] args) throws java.lang.Exception
{
    List<Float> sec = Arrays.asList(1f,1.2f,1.5f,2f,2.5f,3f,4f,5f,6f,8f,10f);
    List<Float> cond = Arrays.asList(6f,10f,16f,20f,25f,32f,40f,63f,100f,160f,250f);

    Scanner scan = new Scanner(System.in);
    System.out.print("Power: ");
    float pow = scan.nextFloat();
    System.out.print("Voltage: ");
    float volt = scan.nextFloat();
    float res = 0;

    float number = pow/volt;
    for (int i = 0; i < sec.size(); i++) {
        if (number >= sec.get(i) && number < sec.size()-1){
            res = sec.get(i+1);
        }else if(number<sec.get(0) || number==0){
            res = sec.get(0);
        }else if (number>sec.size()-1){
            res = sec.size() - 1;
        }
    }
    float res1 = res*1.5f;
    float res_con = 0;
    for (int a = 0; a < cond.size(); a++) {
        if (res1 > cond.get(a) && res1 < cond.size()-1){
            res_con = cond.get(a+1);
        }
        if(res1<cond.get(0)){
            res_con = cond.get(0);
        }
        if (res1>cond.size()-1){
            res_con = cond.size() - 1;
        }
    }
    System.out.println("Section: "+res + " sq.mm");
    System.out.println("Circuit breaker: "+res_con+" A");
}

}

在第二次计算中,我总是 10.0 A。这是不正确的。 我需要有类似的东西 - 例如,如果输入的数字等于 2,结果将是更大的值(秒数组上的 2.5)。然后我将该值乘以 1,5。接下来,我应该将结果与第二个数组(cond)进行比较并输出更大的值。 我的大脑已经爆炸了。))谢谢

最佳答案

我可能想改变

 if (number >= sec.get(i) && number < sec.size()-1){
        res = sec.get(i+1);

 if (res1 > cond.get(a) && res1 < cond.size()-1){
        res_con = cond.get(a+1);

 if (number >= sec.get(i) && i < sec.size()-1){   //replace number by i since you use i+1
        res = sec.get(i+1);

  if (res1 > cond.get(a) && a < cond.size()-1){   //for the same reasons
        res_con = cond.get(a+1);
  }

关于java - java中的for循环有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30765634/

相关文章:

java - 如何使用 Java 类运行主类?和错误:cannot access file

azure - terraform 无法识别计数值

MongoDB:如何在同一查询中以特定格式查找和计数?

java - 从SD卡播放视频并使用videoView循环播放视频

java - io.prometheus.client.Gauge 是否可用于线程安全计数器

java - 如何将引用数组传递给setter?

sql - Postgresql - 创建用户的累计总和

php - 哪个 php 版本支持以下语法

c - 输入二维数组

c - C 中的 2D 数组指针访问段错误