5.1 定义方法
方法的定义有方法名称、参数、返回值类型以及方法体组成。
定义方法的语法如下所示:
修饰符 返回值类型 方法名(参数列表){
//方法体;
}
6.2 调用方法
要点提示:方法的调用时执行方法中的代码。
注意:在Java中,带返回值的方法也可以当语句调用。在这种情况下,函数调用者只需要忽略返回值即可。
6.3 通过传值进行参数传递
要点提示:调用方法的时候是通过传值的方法将是残喘的给形参的。
警告:是惨必须与方法签名中定义的参数次序和数量上匹配,在类型上兼容。
6.4 重载方法
要点提示:重载方法使得你可以使用同样的名字来定义不同方法,只要它们的名字不同。
注意:又是调用一个方法时,会有两个或者更多的匹配,但是,编译器无法判断那个是最精确的匹配。
6.5 变量的作用域
要点提示:变量的作用域是指变量在程序中引用的范围。
编程题
5_12
import java.util.Scanner;
public class Demo5_12 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print("Enter the three side of a triangle:");
double side1=scanner.nextDouble();
double side2=scanner.nextDouble();
double side3=scanner.nextDouble();
System.out.println(area(side1,side2,side3));
}
public static boolean isVaild(double side1,double side2,double side3){
if(side1+side2>side3&&side1+side3>side2&&side2+side3>side1){
return true;
}else{
return false;
}
}
public static double area(double side1,double side2,double side3){
if(isVaild(side1, side2, side3)){
double s=(side1+side2+side3)/2;
double area=Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));
return area;
}else{
throw new IllegalArgumentException("三边非法!");
}
}
}
5_14
public class Demo5_14 {
public static void main(String[] args) {
System.out.println(count("ashdkgasdhjhsagdiasd", 'a'));
}
public static int count(String str,char a){
int count=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)==a){
count++;
}
}
return count;
}
}
5_16
public class Demo5_16 {
public static void main(String[] args) {
int count=0;
int num=2;
while(true){
if(isSuShu(num)&&isHuiWen(num)){
System.out.print(num+" ");
count++;
if(count%10==0){
System.out.println();
}
if(count==100){
break;
}
}
num++;
}
}
public static boolean isSuShu(int num){
boolean flag=true;
for(int i=2;i<num/2;i++){
if(num%i==0){
flag=false;
break;
}
}
return flag;
}
public static boolean isHuiWen(int num){
String s="";
int temp=num;
while(true){
s+=temp%10;
temp/=10;
if(temp==0){
break;
}
}
return Integer.parseInt(s)==num;
}
}
5_17
public class Demo5_17 {
public static void main(String[] args) {
int count=0;
int num=2;
while(true){
if(isSuShu(num)&&!isHuiWen(num)&&isSuShu(reverse(num))){
System.out.print(num+" ");
count++;
if(count%10==0){
System.out.println();
}
if(count==100){
break;
}
}
num++;
}
}
public static boolean isSuShu(int num){
boolean flag=true;
for(int i=2;i<num/2;i++){
if(num%i==0){
flag=false;
break;
}
}
return flag;
}
public static boolean isHuiWen(int num){
return reverse(num)==num;
}
public static int reverse(int num){
String s="";
int temp=num;
while(true){
s+=temp%10;
temp/=10;
if(temp==0){
break;
}
}
return Integer.parseInt(s);
}
}