Day08-参数和递归
命令行传参
public class Demo03 {
public static void main(String[] args) {
//args.length数组长度
for (int i = 0; i <args.length; i++) {
System.out.println("args["+i+"]"+args[i]);
}
}
}
- 找到文件夹,利用控制台进行编译传参。

可变参数(不定项参数)
找出最大的值
public class Demo04 {
public static void main(String[] args) {
//调用可变参数的方法
printMax(34,3,3,2,56.5);
printMax(new double[]{1,2,3});
}
public static void printMax(double...numbers){
if(numbers.length == 0){
System.out.println("没有数字");
return;
}
double result = numbers[0];
//排序
for (int i = 1; i < numbers.length; i++) {
if(numbers[i]>result){
result = numbers[i];
}
}
System.out.println("最大的数为:"+result);
}
}
输出
最大的数为:56.5
最大的数为:3.0
总结

递归
阶乘
public class Demo05 {
public static void main(String[] args) {
int x = x(5);
System.out.println(x);
}
public static int x(int n){
if(n==1){
return 1;
}else{
return n*x(n-1);
}
}
}
输出
120
总结

作业
做一个简易的计算器
package com.gong.method;
import java.util.Scanner;
public class Demo06 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double result =0;
System.out.println("请输入第一个数:");
double x =scanner.nextDouble();
System.out.println("请输入第二个数:");
double y=scanner.nextDouble();
System.out.println("请输入要进行的运算符:");
//对输入的运算符进行选择
String mark = scanner.next();
switch (mark){
case("+"):
result =add(x,y);//调用方法
break;
case("-"):
result =red(x,y);
break;
case("*"):
result =mul(x,y);
break;
case("/"):
result =exc(x,y);
break;
}
System.out.println(x+mark+y+"="+result);
scanner.close();
}
//先定义加减乘除四个方法
public static double add(double x,double y){
return x+y;
}
public static double red(double x,double y){
return x-y;
}
public static double mul(double x,double y){
return x*y;
}
public static double exc(double x,double y){
return x/y;
}
}
输出
请输入第一个数:
5
请输入第二个数:
5
请输入要进行的运算符:
*
5.0*5.0=25.0
966

被折叠的 条评论
为什么被折叠?



