20201021
创建一个java文件,类名为ValidTools,在类中创建一个方法valid,valid方法包含三个整型(int)参数,分别a、b、c,判断a、b、c能否组成一个三角形,如果能返回true,否则返回false。另外创建一个java文件,类名为TestValid,在TestValid中创建主方法,并调用ValidTools类的valid方法校验输入的参数能否组成三角形。
public class TestValid { public static void main(String[] args) { VaildTools v = new VaildTools(); System.out.println(v.vaild(12,15,26)); }}public class VaildTools { boolean vaild(int a, int b, int c) { boolean isTriangle = true; if (a < 0 || b < 0 || c < 0) { return false; } if (a + b < c || a + c < b || b + c < a) { return false; } return isTriangle; }}
例如:输入90,打印出90=533*2。
##此题涉及递归思想,
void qiuyinshu(int num) { for (int i = 2; i <= num; i++) {// 遍历因数可能为2~本元素 while (num % i == 0) { num = num / i; if(num == 1 ){ System.out.print(i); break; } System.out.print(i+"*"); } } System.out.println(); } void qiuyinshu2(int num) { int count = 0; ArrayList<Integer> list = new ArrayList(); for (int i = 2; i <= num; i++) {// 遍历因数可能为2~本元素 while (num % i == 0) { list.add(i); num = num / i; } } for (int i = list.size() - 1; i >= 0; i--) { if (i == 0) { System.out.println(list.get(i)); break; } System.out.print(list.get(i) + "*"); } }
void rhombus(int num) { int y0 = 0; int y1 = 0; for (int x = 0; x <= num; x++) { y1 = 2 * num - 4 * Math.abs((num + 1) / 2 - x); y0 = (2 * num - y1) / 2; for (int n = 0; n < y0; n++) { System.out.print(" "); } for (int n = 1; n <= y1; n++) { System.out.print("*"); } System.out.println(); } }
public static void main(String[] args) { int count = 0; // 第一个数字在最外层,1~4遍历,第二个数字在第二层…… for (int a = 1; a <= 4; a++) { for (int b = 1; b <= 4; b++) { for (int c = 1; c <= 4; c++) { if (a != b && c != b && c != a) { System.out.print(" " + a + b + c + ""); count++; } } } System.out.println(); } System.out.println("\r共有" + count + "元素"); }
递归、数学归纳法
递归的思想:
递归不是为了解决一个问题,而是一种方法论(一种稍微直观的思考方式)
方法的封装:
void(返回类型描述) method(){ return ;}