zoukankan      html  css  js  c++  java
  • 实验一 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上设置断点并进行单步、条件调试等操作。

  • 相关阅读:
    【LeetCode】208.实现Trie(前缀树)(java+c++,两种方法实现,详细图解)
    《java入门第一季》之二维数组
    《java入门第一季》之二维数组
    iOS中UITableView分割线左侧顶齐
    open_links_per_instance 和 open_links 参数说明
    《java第一季之入门篇》的想法
    十四个方法提高博客的页面访问量
    Android中的Message机制
    OC中的枚举类型
    解决ADT大量出现"Unexpected value from nativeGetEnabledTags: 0"的问题
  • 原文地址:https://www.cnblogs.com/musea/p/8680917.html
Copyright © 2011-2022 走看看