上课练习:
给出三边长计算出这个函数是否是三角形。
如果是三角形,再判断一下是否能构成等腰三角形
package com.lianwei;
import java.util.Scanner;
public class FuncatinTest {
// 给出三边长计算出这个函数是否是三角形。
// 如果是三角形,再判断一下是否能构成等腰三角形
// 如果是三角形计算边长
public static void main(String[] args) {
int a,b,c;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一边a:");
a =scanner.nextInt();
System.out.println("请输入第一边b:");
b =scanner.nextInt();
System.out.println("请输入第一边c:");
c =scanner.nextInt();
if (isSanJiaoXin(a,b,c)) {
System.out.println(a+""+b+""+c+"可以够成三角形");
if (a ==b || a ==c || b==c) {
System.out.println("是等腰三角形");
}else {
System.out.println("是一般三角形");
}
}else {
System.out.println(a+""+b+""+c+"不可以够成三角形");
}
if (isSanJiaoXin(a,b,c)) {
System.out.println("边长是"+(a+b+c));
}
}
/**
* 判断是否是三角形
* @param a 第一边
* @param b 第二边
* @param c 第三边
* @return 是三角形返回 true 否则返回false
*/
public static boolean isSanJiaoXin(int a,int b,int c) {
if (a+b>c && a+c >b && b+c>a && a-b<c && a-c <b &&b-c<a && b-a<c &&c-a<b && c-b<a) {
return true;
}else {
return false;
}
}
}
一、什么是函数。
二、函数的定义
image.png
1:public :修饰符 可有可无
2: boolean 反回类型
可以具体返回类型,也可以无反回类型 void
3: 函数名称
跟变量名称取名规范一样
4: 函数传参
可有可无,可多可少,可以是任何类型,可以任何顺序
5:return 返回结果
可有可无,跟据返回类型。 返回对应的类型
**函数只能写在类里面
**java语言中函数里面不能写函数
三、函数的使用
课堂练习:
从控制台输入一个半径,求出球体积 ,圆面积。要求计算方法写成函数。
package com.lianwei;
import java.util.Scanner;
public class Lianxi1 {
public static void main(String[] args) {
//1 输入半径
System.out.println("请输入一个半径:");
double r = new Scanner(System.in).nextDouble();
//2.计算球体积并打印
double tiji = countTiji(r);
System.out.println("体积"+tiji);
//3.订算球面积并打印
double area = countArea(r);
System.out.println(area);
}
/**
* 计算体积
* @param r
* @return
*/
public static double countTiji(double r) {
double result = 3.14 * r*r*r * (4.0/3.0) ;
return result;
}
/**
* 计算表面积
* @param r
* @return
*/
public static double countArea(double r) {
return 0;
}
}
上课练习2:
从控制台输入两个数字,求加、减 、乘、除的结果。把计算方式用函数封装起来。
答案:
package com.lianwei.funcation;
import java.util.Scanner;
public class CouseWork01 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请从控制台输入第一个整数:");
int num1 = scan.nextInt();
System.out.println("请从控制台输入第二个整数:");
int num2 = scan.nextInt();
System.out.println(jia(num1, num2));
System.out.println(jian(num1, num2));
System.out.println(cheng(num1, num2));
System.out.println(chu(num1, num2));
}
private static double jia(int a, int b) {
return a + b;
}
private static double jian(int a, int b) {
return a - b;
}
private static double cheng(int a, int b) {
return a * b;
}
private static double chu(int a, int b) {
double result = 0;
try {
result = (a * 1.0) / b;
} catch (Exception e) {
}
return result;
}
}
上课练习3:
从控制台输入三边长,求三角形的周长和面积。使用自定义函数。
答案:
package com.lianwei.funcation;
import java.util.Scanner;
import com.lianwei.FuncatinTest;
public class Lianxi02 {
public static void main(String[] args) {
int a,b,c;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一边a:");
a =scanner.nextInt();
System.out.println("请输入第一边b:");
b =scanner.nextInt();
System.out.println("请输入第一边c:");
c =scanner.nextInt();
if (FuncatinTest.isSanJiaoXin(a, b, c)) {
System.out.println("三角形的周长是:"+zhouchang(a, b, c));
System.out.println("三角形的面积是:"+mianji(a, b, c));
}else {
System.out.println("边长不能构成三角形!");
}
}
public static int zhouchang(int a,int b,int c) {
return a+b+c;
}
public static double mianji(int a,int b,int c) {
int p = zhouchang(a, b, c)/2;
int temp = p*(p-a)*(p-b)*(p-c);
double result = Math.sqrt(temp);
return result;
}
}
方法的重载
###作业1
从控制台输入一个半径和高,求出圆柱体的的体积。要求算法封装成函数。
###作业2
求sum= n+(n-1)+(n-2 )+ …….+(n-100)
要求不能用循环。只能用函数实现。(函数的递归)