斷點調試:
- 1-查看程序的執行流程
- 2-調試程序
package com.debug;
import java.util.Scanner;
/*
* 進入debug界面,程序向下一步執行點擊step over
* 代碼區域-看程序的執行流程
* debug區域-看程序的執行流程
* Variables-看變量的變化
* Console-看程序的輸入和輸出
*
* 去掉多個斷點再debug視圖中找到Breakpoints
*/
public class DebugDemo {
public static void main(String[] args) {
// TODO
// int a =10;
// int b =20;
// int c =a+b;
// System.out.println(c);
int sum =0;
for (int x=1;x<=5;x++) {
sum+=x;
}
System.out.println(sum);
//求和方法的調用
Scanner sc=new Scanner(System.in);
System.out.println("請輸入第一個數據:");
int x = sc.nextInt();
System.out.println("請輸入第二個數據:");
int y = sc.nextInt();
int result = sum(x,y);
System.out.println("result:"+result);
}
//在對函數的調用過程中進行斷點調試時,要在主函數和調用函數兩個函數加斷點
public static int sum(int a,int b) {
int c=a+b;
return c;
}
}
問題1-錄入月份,輸出所屬季節
package com.debug;
/*
* 鍵盤錄入月份,輸出對應的季節
* 3,4,5-chun
* 6,7,8-xia
* 9,10,11-qiu
* 12,1,2-dong
*
*/
import java.util.Scanner;
public class DebugTest {
public static void main(String[] args) {
// TODO
Scanner sc= new Scanner(System.in);
//接收數據
System.out.println("輸入月份(1-12):");
int month =sc.nextInt();
switch (month) {
case 1:
System.out.println("冬季");
break;
case 2:
System.out.println("冬季");
break;
case 3:
System.out.println("春季");
break;
case 4:
System.out.println("春季 ");
break;
case 5:
System.out.println("春季");
break;
case 6:
System.out.println("夏季");
break;
case 7:
System.out.println("夏季");
break;
case 8:
System.out.println("夏季");
break;
case 9:
System.out.println("秋季");
break;
case 10:
System.out.println("秋季");
break;
case 11:
System.out.println("秋季");
break;
case 12:
System.out.println("冬季");
break;
default:
System.out.println("請輸入有效數字!");
break;
}
}
}
問題2-打印迴文數
package com.debug;
/*
* 打印5位數中的迴文數-獲取每一個位上的數字
* 個位-%10
* 十位-/10%10
* 千位-/10/10/10%10
* 萬位-/10/10/10/10%10
*/
import java.util.Scanner;
public class DebugTest1 {
public static void main(String[] args) {
// TODO
for(int x=10000;x<100000;x++) {
int ge =x%10;
int shi =x/10%10;
int qian =x/10/10/10%10;
int wan =x/10/10/10/10%10;
if (ge==wan&&shi==qian) {
System.out.println("迴文數:"+x);
}
}
}
}
問題3-對符合要求的數組元素求和
package com.debug;
/*
* 滿足要求的數組元素求和
* 需求-int類型的數組{171,72,19,16,118,51,210,7,18}
* 求和-元素的十位和個位不能包含7,並且只能爲偶數
*/
public class DebugTest3 {
public static void main(String[] args) {
// TODO
int[] arr = {171,72,19,16,118,51,210,7,18};
int sum=0;
for (int x=0;x<arr.length;x++) {
int y = arr[x];
if(y%10!=7&&y/10%10!=7&&y%2==0) {
sum = sum+y;
}
}
System.out.println(sum);
}
}
問題4-打分問題
package com.debug;
/*
* 評委打分:6個評委 分數0-100
*/
import java.util.Scanner;
public class DebugTest4 {
public static void main(String[] args) {
double[] arr =new double[6];
Scanner sc= new Scanner(System.in);
System.out.println("請評委打分-");
//打分循環
for (int x=0;x<arr.length;x++) {
System.out.println("請打分-");
double score=sc.nextDouble();
arr[x]=score;
}
//求最值循環
double max=arr[0];
double min=arr[0];
for (int x=1;x<arr.length;x++) {
if (arr[x]>max) {
max=arr[x];
}
}
for (int x=1;x<arr.length;x++) {
if (arr[x]<min) {
min=arr[x];
}
}
//求平均分
double zhi=0;
double jun=0;
for (int x=0;x<arr.length;x++) {
zhi+=arr[x];
}
jun=(zhi-max-min)/(arr.length-2);
System.out.println("選手最終得分爲:"+jun);
}
}
問題5-數組反轉問題
package com.debug;
import java.util.Scanner;
/*
* 數組反轉-鍵盤錄入5個int類型的數組
* 進行反轉遍歷
*/
public class DebugTest5 {
public static void main(String[] args) {
// TODO
Scanner sc= new Scanner(System.in);
int[] arr = new int[5];
//賦值操作
for (int x=0;x<arr.length;x++) {
System.out.println("請對第"+(x+1)+"個元素進行賦值");
int demo = sc.nextInt();
arr[x]=demo;
}
//反轉函數
reverse(arr);
//遍歷
for (int x=0;x<arr.length;x++) {
System.out.println(arr[x]);
}
}
public static void reverse(int[] arr) {
int temp=0;
for (int x=0;x<(arr.length/2);x++) {
temp=arr[x];
arr[x]=arr[arr.length-1-x];
arr[arr.length-1-x]=temp;
}
}
}
問題6-數據加密問題
package com.debug;
import java.util.Scanner;
/*
* 數據加密
* 輸入4位的整數
* 每位數字加5,然後除10的餘數代替該數字
* 第一位與第四位交換,二三位交換
* 輸出加密後的數據
* liucheng-
* 1-錄入
* 2-定義長度位4的數組
* 3-加密
*/
public class DebugTest6 {
public static void main(String[] args) {
// TODO
Scanner sc=new Scanner(System.in);
System.out.println("請輸入四位整數:");
int num=sc.nextInt();
int[] arr =new int[4];
arr[0]=num/10/10/10%10;
arr[0]=num/10/10%10;
arr[0]=num/10%10;
arr[0]=num%10;
//加密
for (int x=0;x<arr.length;x++) {
arr[x]+=5;
arr[x]%=10;
}
int temp=0;
arr[0]=arr[3];
arr[3]=temp;
temp=arr[1];
arr[1]=arr[2];
arr[2]=temp;
for (int x=0;x<arr.length;x++) {
System.out.print(arr[x]);
}
}
}
問題7-不死神兔問題
package com.debug;
/*
* 不死神兔問題-出生後的兔子從第三個月開始每個月都省一對兔子假設兔子都不死問20個月後兔子的有多少對
* 規律- 1月-1
* 2月-1
* 3月-2
* 4月-3
* 5月-5
*
*/
public class DegbugTest2 {
public static void main(String[] args) {
// TODO
int[] arr =new int[20];
//賦值
arr[0]=1;
arr[1]=1;
for(int x=2;x<arr.length;x++) {
arr[x]=arr[x-1]+arr[x-2];
}
System.out.println("二十個月之後的兔子有"+arr[19]+"對");
}
}