Java中断点调试与数据加密(实际上更多的是对方法使用巩固)

A:什么是断点:(下列操作方法采用的软件为eclipse----不要杠----idea进行debug的调试我会在本段末给出)
就是一个标记,从哪里开始。
B:如何设置断点:
你想看哪里的程序,你就在那个有效程序的左边双击即可。
C:在哪里设置断点:
哪里不会点哪里。
目前:我们就在每个方法的第一条有效语句上都加。
D:如何运行设置断点后的程序:
右键 – Debug as – Java Application
E:看哪些地方:
Debug:断点测试的地方
在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。
Variables:查看程序的变量变化
ForDemo:被查看的源文件
Console:控制台
F:如何去断点:
再次双击即可
找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉。
会弹出一个页面让我们选择是否进入debug模式,选择yes。
*

  • 如何让程序往下执行呢?

  •  Step Over 执行下一步 
    
  •  F6
    
  • 看那些区域呢?

  •  代码区域:看程序的执行步骤
    
  •  Debug区域:看程序的执行步骤
    
  •  Variables:看变量的创建,赋值,销毁等
    
  •  Console:看程序的输入和输出
    
  • 如何去除断点:

  •  A:把加断点的动作再来一遍
    
  •  B:在debug视图中,找到Breakpoints,选中断点,点击双x即可
    
  • Idea中进行debug调试的方法:进行单击选择断点位置(会在代码段前面出现一个大的红色圆点)

  • 执行debug模式的三种方法:

  • 1.Idea最上方工具栏–run–debug(或可以直接alt +shift+f9)

  • 2.右上(绿色的类似小虫子图标)点击一下即可

  • 3.主方法中有一个对代码执行操作的图标(暂停键样式图标),点击选择debug主方法即可

//数组翻转题目1.0版本
package mydebug;
import java.util.Scanner;
public class arrExchange {
    
    
    public static void main(String[] args) {
    
    
 /*
 * 需求:
 * (1)键盘录入5个int类型的数据存储数组arr中
 * (2)定义方法将arr数组中的内容反转
 * (3)定义方法对反转后的数组进行遍历
 *  分析:1.键盘录入
 * 2.数组元素交换int temp=a;
 *                  a=b;
 *                  b=temp;
 * 3.方法遍历  */
        System.out.println("欢迎进入数组交互系统!");
        int[] arr=new int[5];
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入第一个元素!");
        arr[0]=sc.nextInt();
        System.out.println("请输入第二个元素!");
        arr[1]=sc.nextInt();
        System.out.println("请输入第三个元素!");
        arr[2]=sc.nextInt();
        System.out.println("请输入第四个元素!");
        arr[3]=sc.nextInt();
        System.out.println("请输入第五个元素!");
        arr[4]=sc.nextInt();
        bianli(arr[0],arr[1],arr[2],arr[3],arr[4]);
        exchange(arr[0],arr[1],arr[2],arr[3],arr[4]);
    }
    public static void exchange(int a,int b,int c,int d,int e){
    
    
        int[] arr={
    
    a, b, c, d, e};
        int x=0;
        int y=1;
        for (int i=0;i<arr.length;i++){
    
    
            x=arr[i];
            arr[i]=arr[arr.length-y];
            arr[arr.length-y]=x;
            y++;
            if (i>arr.length-y){
    
    break;}
        }
        for (int m=0;m<arr.length;m++){
    
    
            System.out.println(arr[m]);
        }
    }
    public static void bianli(int a,int b,int c,int d,int e){
    
    
        int[] arr={
    
    a, b, c, d, e};
        for (int i=0;i<arr.length;i++){
    
    
            System.out.println(arr[i]);
        }
    }
}

// 老师给的代码
package mydebug;
import java.util.Scanner;
    public class arrExchange2 {
    
    
        public static void main(String[] args) {
    
    
            // 定义一个长度为5的数组
            int[] arr = new int[5];

            // 通过键盘录入数据给数组中的元素赋值
            Scanner sc = new Scanner(System.in);
            for (int x = 0; x < arr.length; x++) {
    
    
                System.out.println("请给出第" + (x + 1) + "个元素");
                arr[x] = sc.nextInt();
            }

            System.out.println("反转前的数组元素:");
            printArray(arr);

            // 定义方法将arr数组中的内容反转
            reverse(arr);

            System.out.println("反转后的数组元素:");
            //定义方法遍历数组
            printArray(arr);
        }

        //遍历数组
        public static void printArray(int[] arr) {
    
    
            System.out.print("[");
            for(int x=0;x<arr.length; x++){
    
    
                if(x == arr.length-1) {
    
    
                    System.out.println(arr[x]+"]");
                }else {
    
    
                    System.out.print(arr[x]+", ");
                }
            }
        }


        /*
         * 两个明确: 返回值类型:void 参数列表:int[] arr
         */
        public static void reverse(int[] arr) {
    
    
            for(int startIndex=0,endIndex=arr.length-1;startIndex<=endIndex;startIndex++,endIndex--) {
    
    
                int temp = arr[startIndex];
                arr[startIndex] = arr[endIndex];
                arr[endIndex] = temp;
            }
        }
    }
 // 2.0改进后的版本
 package mydebug;
import java.util.Scanner;
public class arrExchange3 {
    
    
    public static void main(String[] args) {
    
    
        int[] arr=new int[5];
        Scanner sc=new Scanner(System.in);
        for (int x=0;x<arr.length;x++){
    
    
            System.out.println("请输入第"+(x+1)+"个元素");
            arr[x]=sc.nextInt();
        }
        System.out.println("没有交换之前的数组元素排列为:");
        printArr(arr);

        Arrexchange(arr);

        System.out.println();
        System.out.println("交换后的数组元素排列为:");
        printArr(arr);

    }

    public static void printArr(int[] arr){
    
    
        System.out.print("[");
        for (int i=0;i<arr.length;i++) {
    
    
            if(i==arr.length-1){
    
    
                System.out.print(arr[i]+"]");
            }else{
    
    
                System.out.print(arr[i]+",");
            }
        }
    }

    public static void Arrexchange(int[] arr){
    
    
        for (int start=0,end=arr.length-1;start<=end;start++,end--){
    
    
            int temp=arr[start];
            arr[start]=arr[end];
            arr[end]=temp;
        }
    }
}
package mydebug;

import java.util.Scanner;

public class arrJiami {
    
    
    public static void main(String[] args) {
    
    
  /*数据加密:
 * 需求:键盘录入数据,要求数据是四位的整数,现需要对数据进行加密,加密规则如下:
 * 每位数字都加上5,然后除以10的余数代替该数字,
 * 再将第一位和第四位交换,第二位和第三位交换,
 * 请把加密后的数据输出到控制台

          分析:1.键盘录入的是四位数
          * 2.将这四位数的每一位存储到数组中
          * 3.对数组中的元素进行加密操作:
           * 每位数字都加上5,然后除以10的余数代替该数字,
            * 再将第一位和第四位交换,第二位和第三位交换,
            4.输出出来 */
        System.out.println("请任意输入一个四位数:");
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        jiami(a);
    }
    public static void jiami(int a){
    
    
        int[] arr=new int[4];
        if(a>=1000&&a<10000){
    
    
            for (int i=3,m=1;i>=0;i--,m=m*10){
    
    
                arr[i]=a/m%10;
                arr[i]=(arr[i]+5)%10;
                if (m>1000){
    
    break;}
            }
            for (int start=0,end=arr.length-1;start<=end;start++,end--){
    
    
                int temp=arr[start];
                arr[start]=arr[end];
                arr[end]=temp;
            }
            System.out.print("数组内加密过得元素为:[");
            for (int n=0;n<arr.length;n++){
    
    
                if (n<arr.length-1){
    
    
                    System.out.print(arr[n]+",");
                }else{
    
    
                    System.out.println(arr[n]+"]");
                }
            }
        }else{
    
    
            System.out.println("你的输入不合乎规范!");
        }
    }
}
//断点的练习
package mydebug;
import  java.util.Scanner;
public class bugtest {
    
    
    public static void main(String[] args) {
    
    
        /*int sum=0;
        for (int i=0;i<=10;i++){
            sum+=i;
        }
        System.out.println(sum);
        */
        System.out.println("请输入一个整数:");
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        System.out.println("请输入第二个整数:");
        int b=sc.nextInt();
        int c=sum(a,b);
        System.out.println(c);

    }
    public static  int sum(int a,int b){
    
    
        return a+b;
    }
}```
```java
package mydebug;

public class Busishentu {
    
    
    public static void main(String[] args) {
    
    
        /* 需求:
 * 		有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,
 * 		假如兔子都不死,问第二十个月的兔子对数为多少?*/
        System.out.println("不死神兔第20个月的对数为:");
        int[] arr=new int[20];
        arr[0]=1;
        arr[1]=1;
        for (int i=2;i<arr.length;i++){
    
    
            arr[i]=arr[i-1]+arr[i-2];
        }
        System.out.println("arr[3]:"+arr[3]);
        System.out.println(arr[19]);
    }
}

package mydebug;
import java.util.Scanner;
public class debugtest01 {
    
    
    public static void main(String[] args) {
    
    
        System.out.println("根据月份判断季节小游戏!");
        System.out.println("请输入1-12月中任意月份:");
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt();
        returnmonth(a);
    }
    public static void returnmonth(int a){
    
    
        if (a>=3&&a<=5){
    
    
            System.out.println(a+"月对应的季节是春季!");
        }else if(a>=6&&a<=8){
    
    
            System.out.println(a+"月对应的季节是夏季!");
        }else if(a>=9&&a<=11){
    
    
            System.out.println(a+"月对应的季节是秋季!");
        }else if(a>=1&&a<=2||a==12){
    
    
            System.out.println(a+"月对应的季节是冬季!");
        }else{
    
    
            System.out.println("你的输入有误!请输入1-12月份");
        }
    }
}
package mydebug;

public class huiwenshu {
    
    
    public static void main(String[] args) {
    
    
   /* 需求:打印5位数中的所有回文数。
    什么是回文数呢?举例:12321是回文数,个位与万位相同,十位与千位相同。
    */
    //分析:1.五位数,需要用到for循环  2.需要知道各自的个、十、千、万位并做逻辑判断
    //代码如下:
        System.out.println("欢迎您!你已进入打印回文数系统!");
        for (int i=10000;i<100000;i++){
    
    
            int ge=i%10;
            int shi=i/10%10;
            int qian=i/10/10/10%10;
            int wan=i/10/10/10/10%10;
            if (ge==wan&&shi==qian){
    
    
                System.out.println(i+" ");
            }
        }

    }
}
//  评委打分系统1.0版本
 * 选手的最后得分为:去掉一个最高分和一个最低分后 其余4个分数的平均值。
 * 请写代码实现。(不考虑小数部分)
 */
        /*分析:
        1.分数为键盘录入
        2.需要遍历数组清除分数最大值max,最小值min
        3.剩余数组元素求和,sum/4(小数不计)
        
         */
        System.out.println("欢迎进入评委打分系统!");
        int[] arr=new int[6];
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入第一个评委的评分!");
        arr[0]=sc.nextInt();
        System.out.println("请输入第2个评委的评分!");
        arr[1]=sc.nextInt();
        System.out.println("请输入第3个评委的评分!");
        arr[2]=sc.nextInt();
        System.out.println("请输入第4个评委的评分!");
        arr[3]=sc.nextInt();
        System.out.println("请输入第5个评委的评分!");
        arr[4]=sc.nextInt();
        System.out.println("请输入第6个评委的评分!");
        arr[5]=sc.nextInt();
        int y=point(arr[0],arr[1],arr[2],arr[3],arr[4],arr[5]);
        System.out.println("这个同学去掉两个最值分后的平均成绩为:"+y);
    }
    public static int point(int a,int b,int c,int d,int e,int f){
    
    
        int[] arr={
    
    a, b, c, d, e, f};
        int max=arr[0];
        for (int i=0;i<arr.length;i++) {
    
    
            if (arr[i] >= max) {
    
    
                max = arr[i];
            }
        }
        int min=arr[0];
        for (int j=1;j<arr.length;j++)
            {
    
    
                if (arr[j]<=min)
                {
    
    
                    min=arr[j];
                }
            }
        int chengji=(a+b+c+d+e+f-max-min)/4;
        return chengji;

    }
}
//  2.0版本
package mydebug;
import java.util.Scanner;
public class pingweidafen2 {
    
    
    public static void main(String[] args) {
    
    
        System.out.println("欢迎进入评委打分系统!");
        int[] arr=new int[6];
        Scanner sc=new Scanner(System.in);
        for (int i=0;i<arr.length;i++){
    
    
            System.out.println("请输入第"+(i+1)+"个分数");
            arr[i]=sc.nextInt();
        }
        point(arr);
    }
    public static void point(int[] arr){
    
    
        int max=arr[0];
        int sum=0;
        System.out.println("六位评委给出的成绩为");
        for (int i=0;i<arr.length;i++) {
    
    
            System.out.print(arr[i]+" ");
            sum+=arr[i];
            if (arr[i] >= max) {
    
    
                max = arr[i];
            }
        }
        System.out.println();
        System.out.println("去掉一个最高分"+max);
        int min=arr[0];
        for (int j=1;j<arr.length;j++)
        {
    
    
            if (arr[j]<=min)
            {
    
    
                min=arr[j];
            }
        }
        int a=(sum-max-min)/4;
        System.out.println("去掉一个最低分"+min);
        System.out.println("最终这位选手的成绩为:"+a);
    }
}
package mydebug;

public class sumArr {
    
    
    public static void main(String[] args) {
    
    
 /* 需求:
 * (1)定义一个int类型的一维数组,内容为{171,72,19,16,118,51,210,7,18}
 * (2)求出该数组中满足要求的元素和。
 * 		要求:求和的元素的个位和十位不能包含7,并且只能为偶数。 */
        System.out.println("欢迎进入数组元素求和系统!");
        int[] arr = {
    
    171,72,19,16,118,51,210,7,18};
        int sum = 0;
        for (int i = 0;i<arr.length;i++){
    
    
            int ge = arr[i]%10;
            int shi = arr[i]/10%10;
            if (ge!=7 && shi!=7 && arr[i]%2==0){
    
    

                sum+=arr[i];
            }
        }
        System.out.println(sum);

    }
}

猜你喜欢

转载自blog.csdn.net/m0_52646273/article/details/113869078