实验一 Java开发环境的熟悉

实验一 Java开发环境的熟悉

实验目的

  • 命令行下Java程序开发
  • idea下Java程序开发、调试
  • 通过命令行和Eclipse两种方式实现在idea下练习调试程序

实验内容及步骤

(一)使用JDK编译、运行简单的Java程序

  • 创建以自己学号命名的文件夹
  • 进入实验文件夹编写Hello的代码
package lxs;
 import java.util.Scanner;
 public class Hello{
   public static void main(String[] args){
       System.out.println("Input your first name, please:");
       Scanner s = new Scanner(System.in);
       String name = s.next();
       System.out.println("Hello " + name + " !");
    }
 }
  • 输入javac -d . Hello.java命令编译代码,输入java lxs.Hello命令运行程序
  • 项目结果如下图所示

(二)idea下Java程序开发、调试

  • 创建项目并新建类
  • 新建一个文件并进行代码编写
package lxs;
 public class HelloJDB {
   public static void main(String[] args) {
               int i = 5;
               int j = 6;
               int sum = add(i, j);
               System.out.println(sum);
        
               sum = 0;
              for(i=0; i< 100; i++)
                      sum += i;
        
              System.out.println(sum);
          }

          public static int add(int augend, int addend){
              int sum = augend + addend;
              return sum;
          }
}
  • 运行结果如图

  • 代码调试
    - 设置单步断点

    - 设置条件断点
    

(三)小练习

判断一个数是不是回文数,数从命令行输入,并进行测试

  • 代码
        import javax.swing.JOptionPane;  
        public class Demo01  
        {    
            public static void main(String args[])  
            {  
                loopNumber();     
            }  
             static  void loopNumber(){  
                int number=0,d5,d4,d3,d2,d1;  
                String str=JOptionPane.showInputDialog("输入一个1至99999之间的数");  
                number=Integer.parseInt(str);  
                if(number<100000&&number>0) //判断number在1至99999之间的条件  
                    {  
                        d5=number/10000;   //计算number的最高位(万位)d5  
                        d4=(number/1000)%10 ;  //计算number的千位d4  
                        d3=(number/100)%10 ;  //计算number的百位d3  
                        d2=(number%100)/10;  
                        d1=number%10;  
                      if(d5 !=0)  //判断number是5位数的条件  
                        {  
                          System.out.println(number+"是5位数");  
                          if(d5 ==d1 && d4 == d2) //判断number是回文数的条件  
                           {  
                              System.out.println(number+"是回文数");  
                           }  
                          else  
                           {   
                             System.out.println(number+"不是回文数");  
                           }  
                        }  
                      else if(d5 == 0 && d4 != 0)  //判断number是4位数的条件  
                        {  
                           System.out.println(number+"是4位数");  
                           if(d1 ==d4&&d2==d3) //判断number是回文数的条件码  
                           {  
                                System.out.println(number+"是回文数");  
                           }  
                          else  
                           {   
                              System.out.println(number+"不是回文数");  
                           }  
                        }  
                        else if(d5 == 0&&d4 == 0&&d3 !=0)  //判断number是3位数的条件  
                        {  
                           System.out.println(number+"是3位数");  
                           if(d3 == d1) //判断number是回文数的条件  
                           {  
                                System.out.println(number+"是回文数");  
                           }  
                          else  
                           {   
                            System.out.println(number+"不是回文数");  
                           }  
                        }  
                     else if(d2!=0)  
                        {  
                          System.out.println(number+"是2位数");  
                           if(d1==d2)  
                           {  
                               System.out.println(number+"是回文数");  
                           }  
                          else  
                           {   
                             System.out.println(number+"不是回文数");  
                           }  
                        }  
                     else if(d1!=0)  
                        {  
                          System.out.println(number+"是1位数");  
                           System.out.println(number+"是回文数");  
                        }  
                    }  
                 else  
                    {  
                       System.out.printf("
%d不在1至99999之间",number);  
                    }  
            }  
        }
  • 命令行测试

    • 输入一个数

    • 正常情况

    • 边界情况

    • 异常情况

  • idea测试

遇到问题及解决方案

  • 问题一:在设置断点之后,一直next,但到最后却无输出,即使重复调试、不断更替断点位置、再单步调试,始终在最后没有结果

  • 问题一解决方案:开始搜了一下idea中设置断点无输出,但搜索结果却大抵是断点无效或者其他,好不容易找到一个通过选项栏tools中找寻Debugging再进行下一步操作,却发现没有Debugging这一栏,于是重新回到代码中,在不断调试反复操作尝试中发现了console这一按钮,在每次断点调试完后,发现原本的空白在调试的最后一瞬间跳出输出了。

  • 总结:万变不离其宗,要想解决代码出现的问题,不管进行了何种查阅,最终仍应回到代码中不断调试。

统计PSP(Personal Software Process)时间:

步骤 耗时 百分比
设计 30 30%
代码实现 20 20%
测试 20 20%
分析总结 30 30%

实验小结

本次实验在Ubuntu和Windows系统的idea中完成,学会了如何新建文件夹设置目录,同时明白了如何在idea上设置断点并进行单步、条件调试等操作。

原文地址:https://www.cnblogs.com/musea/p/8680917.html