• 20165326 第四周课堂测试


    第四周课堂测试

    知识点:命令行参数(字符串改变为int型输入),递归,利用jdb进行调试
    一开始写的时候利用了for循环

    for(int t:tmp){
    	int sum=0;
    	if(t<0)
    	  System.out.println("wrong");
    	else{
    	for(int i=1;i<=t;i++){
    	int a=1;
    	    for(int j=1;j<=i;j++){
    	      a=a*j;
    	    }
    	  sum=sum+a;
    	}
    	if(sum<0)
    	  System.out.println("溢出");
    	else
    	  System.out.println(sum);
    

    虽然输出结果相同,但是在jdb执行中无返回值,不符合题意,改为

    for(int i=0; i<args.length; i++) {
                tmp[i] = Integer.parseInt(args[i]);
             }
    		int sum = 0;
    		for (int i=1;i<=tmp[0];i++) {
    			sum += fact(i);
    		}
    		System.out.println(sum);
        }
    
        public static int fact(int n) {
            if (n == 0)
                 return 1;
            else
                 return n * fact(n-1);
        }
    }
    

    jdb调试如下图



    需要先用-g编写才能使用locals查看本地变量
    使用next和step来单步调试

  • 相关阅读:
    CodeForces 404C Ivan and Powers of Two
    CodeForces 433C Ryouko's Memory Note-暴力
    if not
    python3的print函数
    交叉熵
    tensorflow一个很好的博客
    关于第几维的问题
    更新软件
    tensorflow训练代码
    tensorflow的一些函数
  • 原文地址:https://www.cnblogs.com/Czzzz/p/8645408.html
Copyright © 2020-2023  润新知