上課練習:
給出三邊長計算出這個函數(shù)是否是三角形。
如果是三角形,再判斷一下是否能構(gòu)成等腰三角形
package com.lianwei;
import java.util.Scanner;
public class FuncatinTest {
// 給出三邊長計算出這個函數(shù)是否是三角形。
// 如果是三角形,再判斷一下是否能構(gòu)成等腰三角形
// 如果是三角形計算邊長
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;
}
}
}
一、什么是函數(shù)。
二、函數(shù)的定義

image.png
1:public :修飾符 可有可無
2: boolean 反回類型
可以具體返回類型,也可以無反回類型 void
3: 函數(shù)名稱
跟變量名稱取名規(guī)范一樣
4: 函數(shù)傳參
可有可無,可多可少,可以是任何類型,可以任何順序
5:return 返回結(jié)果
可有可無,跟據(jù)返回類型。 返回對應的類型
**函數(shù)只能寫在類里面
**java語言中函數(shù)里面不能寫函數(shù)
三、函數(shù)的使用
課堂練習:
從控制臺輸入一個半徑,求出球體積 ,圓面積。要求計算方法寫成函數(shù)。
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:
從控制臺輸入兩個數(shù)字,求加、減 、乘、除的結(jié)果。把計算方式用函數(shù)封裝起來。
答案:
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("請從控制臺輸入第一個整數(shù):");
int num1 = scan.nextInt();
System.out.println("請從控制臺輸入第二個整數(shù):");
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:
從控制臺輸入三邊長,求三角形的周長和面積。使用自定義函數(shù)。
答案:
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("邊長不能構(gòu)成三角形!");
}
}
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;
}
}
方法的重載
###作業(yè)1
從控制臺輸入一個半徑和高,求出圓柱體的的體積。要求算法封裝成函數(shù)。
###作業(yè)2
求sum= n+(n-1)+(n-2 )+ …….+(n-100)
要求不能用循環(huán)。只能用函數(shù)實現(xiàn)。(函數(shù)的遞歸)