java每日基础编程题(二)

6. 打印出实心 10*10 正方形、空心 10*10 正方形

package com.liubj.projectbaizhan;
/**
* 打印出实心 10*10 正方形、空心 10*10 正方形
* @author liubaojun
*
*/
public class Square {
     public static void main(String[] args) {
          //实心10*10正方形
          for(int i = 1; i <= 10; i++){
              for(int j = 1; j <= 10; j++){
                   System.out.print("*");
              }
              System.out.println();
          }
          
          System.out.println("=========================");
          //空心正方形
          for(int i = 1; i <= 10; i++){
              //第一行和第十行实线
              if(i == 1 || i == 10){
                   for(int j = 1; j <= 10; j++){
                        System.out.print("*");
                   }
                   System.out.println();
              }else{
                   System.out.print("*");
                   //控制中间空心
                   for(int k = 1; k <=8; k++){
                        System.out.print(" ");
                   }
                   System.out.print("*");
                   System.out.println();
              }
          }
     }
}

运行结果:

7. 将上面打印实心和空心正方形练习中相关代码,封装成方法,便于重用

package com.liubj.projectbaizhan;
import java.util.Scanner;
/**
* 将上面打印实心和空心正方形练习中相关代码,封装成方法,便于重用
*
* @author liubaojun
*
*/
public class SquareCapsulation {
     // 打印实心正方形
     public static void solid(int n) {
          for (int i = 1; i <= n; i++) {
              for (int j = 1; j <= n; j++) {
                   System.out.print("*");
              }
              System.out.println();
          }
     }
     // 打印空心正方形
     public static void hollow(int n) {
          for (int i = 1; i <= n; i++) {
              // 第一行和第十行实线
              if (i == 1 || i == n) {
                   for (int j = 1; j <= n; j++) {
                        System.out.print("*");
                   }
                   System.out.println();
              } else {
                   System.out.print("*");
                   // 控制中间空心
                   for (int k = 1; k <= n - 2; k++) {
                        System.out.print(" ");
                   }
                   System.out.print("*");
                   System.out.println();
              }
          }
     }
     public static void main(String[] args) {
          //创建Scanner对象
          Scanner sc = new Scanner(System.in);
          System.out.print("请输入正方形的边长:");
          int n = sc.nextInt();
          //打印实心圆
          solid(n);
          System.out.println("========================");
          //打印空心圆
          hollow(n);
     }
}

运行结果:

8. 使用递归算法完成阶乘:1!+2!+3!+4!+5!

package com.liubj.projectbaizhan;
/**
* 使用递归算法完成阶乘:1!+2!+3!+4!+5!
* @author liubaojun
*
*/
public class Factorial {
     
     //递归实现n!
     public static long getFactorial(int n){
          if(n == 1){
              return 1;
          }else{
              return getFactorial(n - 1) * n;
          }
     }
     
     //主方法
     public static void main(String[] args) {
          int sum = 0;
          //计算1!+2!+3!+4!+5!
          for(int i = 1; i <= 5; i++){
              sum += getFactorial(i);
          }
          System.out.println("1!+2!+3!+4!+5!的值是:" +  sum);
     }
}

运行结果:

9. 设计一个类代表二维空间的一个圆。要求两个成员变量。一个是圆心,一个是半径提供计算面积的方法。

package com.liubj.projectbaizhan;
/**
* 设计一个类代表二维空间的一个点。
* @author liubaojun
*
*/
public class Point {
     private int x;
     private int y;
     public Point(int x, int y) {
          super();
          this.x = x;
          this.y = y;
     }
}

package com.liubj.projectbaizhan;
import java.util.Scanner;
/**
* 设计一个类代表二维空间的一个圆。要求两个成员变量。一个是圆心,一个是半径提供计算面积的方法。
* @author liubaojun
*
*/
public class Circle {
     int radius;   //半径
     Point point;  //圆心
     //构造方法
     public Circle(int radius, Point point){
          super();
          this.radius = radius;
          this.point = point;
     }
     //圆的面积
     public double area(int radius){
          return Math.PI * Math.pow(radius, 2);
     }
     
     //主方法
     public static void main(String[] args) {
          //设置圆心
          Point p = new Point(10, 10);
          //圆
          Scanner sc = new Scanner(System.in);
          System.out.print("请输入圆的半径:");
          int radius = sc.nextInt();
          Circle circle = new Circle(radius, p);
          System.out.println("圆的面积是:" +  circle.area(radius));
     }
}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值