Debug
程序调试工具,他可以查看程序的执行流程,也可以追踪程序执行过程来调试程序
操作流程:
Debug调试,又称为断点调试,断点是一个标识,标识从那里开始查看
1.加断点(在行号前左键点击一下)
2.如何运行debug(代码中右键Debug as)
3.看哪里
4.点哪里
5.如何删除断点(在断点上左键点击一下)
注意:
F5 是详细查看(向里执行) F6下一步(同级执行)
可选例题(方法的使用):
1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
package day08.FactionHomework;
//1.打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
// 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
public class KX01 {
public static void main(String[] args) {
int i = 100;
while (99 < i && i <= 999) {
if (i == SXHS(i)) {
System.out.println(i);
}i++;
}
}
public static int SXHS(int sum){
int a,b,c;
a=sum/100;
b=(sum%100)/10;
c=(sum%100)%10;
return sum=(a*a*a+b*b*b+c*c*c);
}
}
结果:
2.定义方法:打印指定行和列的矩形
package day08.FactionHomework;
//2.定义方法:打印指定行和列的矩形
import java.util.Scanner;
public class KX02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("打印矩形");
System.out.println("行数:");
int x=scanner.nextInt();
System.out.println("列数:");
int y=scanner.nextInt();
JX(x,y);
}
public static void JX(int a,int b){
for (int j = 1; j <=a ; j++) {
for (int i = 1; i <=b; i++) {
if(j==1 ||j==a){
System.out.print("*"+" "+" "+" ");
}
else{
if(i==1 ||i==b){
System.out.print("*"+" "+" "+" ");
}else {
System.out.print(" "+" "+" "+" ");
}
}
}System.out.println("\n");
}
}
}
结果:
3.编写Java程序,实现接收用户输入的正整数,输出该数的阶乘。要求:限制输入的数据在1-10之间,无效数据进行提示,结束程序。要求使用递归和循环分别实现。输出结果如:4!=123*4=24
package day08.FactionHomework;
//编写Java程序,实现接收用户输入的正整数,输出该数的阶乘。要求:限制输入的数据在1-10之间,
// 无效数据进行提示,结束程序。要求使用递归和循环分别实现。输出结果如:4!=1*2*3*4=24
import java.util.Scanner;
public class KX03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个正整数并且在1-10之间:");
int i=scanner.nextInt();//定义一个变量接收用户输入
if(i<1&& i>10 ){
System.out.println("输入错误!");//无效数据进行提示
}else {
// 方法一:(已注解掉)用方法里用传统的for循环
// JCJS(b);
// }
// }
// public static void JCJS(int b)
// int sum=1;
// for (int j =b; j>0;) {
// sum*=j*(j-1);
// j=j-2;
// }
// System.out.println("结果:"+sum);
// }
// }
// }
//
// 方法二:(当前使用的)使用递归的方式
JCJS(i,1);
}
}
public static void JCJS(int b,int sum){
sum*=b*(b-1);
b=b-2;
if(b>0) {
JCJS(b,sum);
}else {
System.out.println("结果"+sum);
}
}
}
结果:
一、选择题(题目答案放在下一章)
1. 分析下面的Java多重循环代码片段,编译运行后的输出结果是( )。(选择一项)
for (int i = 0; i < 6; i++) {
int k = ++i;
while (k < 5) {
System.out.print(i);
break;
}
}
A. 024
B. 02
C. 123
D. 13
2. 给定如下Java代码,编译运行的结果是( )。(选择一项)
public class Test {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<10;i++){
do{
i++;
if(i%2!=0)
sum+=i;
}while(i<6);
}
System.out.println(sum);
}
}
A 8
B. 15
C. 24
D. 什么也不输出
3. Java中main方法的返回值是( )。(选择一项)
A String
B. int
C. char
D. void
4. 在Java的程序类中如下方法定义正确的是( )。(选择两项)
A
public int ufTest(int num){
int sum=num+100;
return sum;
}
B.
public String ufTest(int num){
int sum=num+100;
return sum;
}
C.
public void ufTest(int num){
int sum=num+100;
return sum;
}
D.
public float ufTest(int num){
int sum=num+100;
return sum;
}
5. 以下关于方法调用的代码的执行结果是( )。(选择一项)
public class Test {
public static void main(String args[]) {
int i = 99;
mb_operate(i);
System.out.print(i + 100);
}
static void mb_operate(int i) {
i += 100;
}
}
A. 99
B. 199
C. 299
D. 99100
6. 下面( )方法是public void example(){…}的重载方法。(选择二项)
A private String example(){…}
B. public int example(String str){…}
C. public void example2(){…}
D. public int example(int m,float f){…}
7. 以下选项中添加到代码中横线处会出现错误的是( )。(选择二项)
public class Test {
public float aMethod(float a, float b) {
return 0;
}
}
A
public float aMethod(float a, float b, float c) {
return 0;
}
B.
public float aMethod(float c, float d) {
return 0;
}
C.
public int aMethod(int a, int b) {
return 0;
}
D.
private int aMethod(float a, float b) {
return 0;
}
二、判断题(题目答案放下一章)
1.多重循环是指一个循环体内又包含另一个完整的循环结构。外层循环变量变化一次,内层循环变量要从头到尾变化一遍。( )
2.定义方法时的参数称为实在参数,调用方法时的参数称为形式参数。( )
3.调用方法时,要求实参和形参的个数相同,类型匹配。( )
4.判断方法重载的依据是方法名相同,参数不同。( )
5.程序调用自身的编程技巧称为递归。递归的特点是编程简单并且节省内存。( )
6.任何可用递归解决的问题也能使用循环解决,递归既花时间又耗内存,在要求高性能的情况下尽量避免使用递归。( )
上一章答案:
1、答:在内层循环中标记break跳出操作,即:break flag;再用flag标记外层循环。
2、答:当我们要实现的功能一样,只是参数不同的时候(类型,顺序,个数),我们将方法的名字可以起成一样的名字,这种现象叫做方法的重载。重载作用:就是实现功能一样;判断方法的重载依据:方法名相同,参数不同。
3、答:定义:直接或间接调用自己本身的函数;优点:结构清晰、可读性强;缺点:运行效率低,耗费计算时间与存储空间。
|
|
|
|
上一章-DAY07-数组2和方法
下一章-DAY09-自习课(搞个预习,搞个java小游戏玩一哈)
天天更新不容易,随手点个小赞👍,你说是吧,吴彦祖!O(∩_∩)O