一起重新开始学大数据-java篇-DAY08-Debug功能使用与练习题(factions)

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
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你的动作太慢了!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值