java长时间运行不出结果

img


写完代码长时间运行不出结果,但如果main函数中只有输出语句的话是可以运行出结果的。这是为什么呀!

需要先输入n的值,再输入n组数字,每组输入两个数,计算完和,就打印这两个数的和,直到n组数据测试完成。

测试如下:



import java.util.Scanner;

public class Test1 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int n,a,b,i,sum;
        Scanner in = new Scanner(System.in);
        n = in.nextInt(); // 从输入获取数据的组数n
        for(i=1;i<=n;i++) {  // 测试n组数据
            a = in.nextInt(); // 获取当前组数据的第一个数a
            b = in.nextInt();  // 获取当前组数据的第二个数b
            sum = a + b;  // 计算它们的和,赋值给变量sum
            System.out.println("sum="+sum);  //打印当前组的和
        }
    }

}


img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7580510
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Java基础算法题(38):写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
  • 你还可以看下java参考手册中的 java-集合 - 关于使用和扩展Java集合框架的课程。- 聚合操作 代表你对集合进行迭代,这使你能够编写更简洁和有效的代码,处理存储在集合中的元素。 -平行主义
  • 您还可以看一下 汤小洋老师的手把手搭建Java在线考试系统【附源码】(毕设)课程中的 在线考试系统的部署运行小节, 巩固相关知识点
  • 除此之外, 这篇博客: java中代码块的定义与使用中的 当main方法中没有用到类时,结果是什么? 部分也许能够解决你的问题。
  • 以下回答由chatgpt基于相关博客总结生成:

    问题分析

    这个问题可能是由于代码中出现了死循环、阻塞或者无限等待等情况所导致的。在这种情况下,代码会一直执行而无法得到结果。为了解决这个问题,我们需要使用调试工具来定位问题。

    解决方案

    1. 使用调试工具:使用IDE中的调试工具能够帮助我们定位代码中的问题。在Eclipse中,我们可以通过在程序的关键地点设置断点,逐步执行代码并观察程序的执行过程来找到问题所在。下面是使用Eclipse的调试工具的步骤。

    2. 打开你的Java项目并进入需要调试的代码。

    3. 选择需要调试的类的某一行代码,右键点击并选择Toggle Breakpoint或者使用快捷键Ctrl+Shift+B来设置断点。
    4. 点击运行按钮,选择使用Debug模式来启动程序。
    5. 运行程序后,程序会在断点处停止,此时你可以逐步执行代码,观察变量的值和程序的行为。你可以使用Step Over (F6)Step Into (F5)Step Return (F7)等快捷键来控制程序前进。
    6. 当程序停在断点处时,可以检查变量的值是否符合预期,如果不符合,那么可能就找到了问题所在的地方。

    7. 阅读代码:仔细阅读你的代码并查看是否存在死循环、阻塞或者无限等待等情况。这些情况可能会导致程序长时间运行而没有结果。

    8. 检查是否有循环的条件没有被满足,导致程序一直在循环中。
    9. 检查是否有线程阻塞的情况,例如网络请求或者IO操作等长时间等待的代码。
    10. 检查是否有死锁的情况,即多个线程都在互相等待彼此释放资源。
    11. 检查是否有递归调用的地方导致无限循环。

    示例代码

    public class Main {
        public static void main(String[] args) {
            // 设置断点
            System.out.println("设置断点");
    
            // ... 你的代码 ...
    
            // 继续执行代码
    
            System.out.println("程序结束");
        }
    }
    

    注意事项

    • 在使用调试工具时,确保你的代码是可调试的,并且已经设置了断点。
    • 如果你的代码包含多个线程,那么你可能需要查找是否有线程安全的问题导致死锁或者阻塞的情况。
    • 如果你的代码中存在复杂的逻辑,你可以尝试使用日志来输出程序的执行过程,以便更好地理解代码的执行情况。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^