方法

方法定义:

由方法名称、参数、返回值类型以及方法体组成(方法具有特定且相对独立的功能)
语法如下:

修饰符	返回值类型	方法名(参数列表){
//方法体;
}

如果方法有返回值,则称为带返回值的方法(value-returning method),否则就称该方法为void方法(void method)
定义在方法头中的变量为形式参数(形参),当调用方法时,就给参数传递一个值,这个值为实际参数(实参)
参数列表:方法中参数的类型、顺序和个数
参数是可选的也就是说可以不包含参数

方法重载

方法名相同 参数个数或参数类型不同,即参数列表必须不同,不能基于不同修饰符或返回值类型来重载方法

变量的作用域

变量的作用域是指变量在程序中引用的范围
方法中定义的变量为局部变量,局部变量必须先声明和赋初值再使用
局部变量的作用域从声明变量的地方开始,直到包含该变量的局部代码块结束为止

for(int i=0;i<=10;i++){//i的起始作用域
	for(int j=0;i<=i;j++){//j的起始作用域
		
	}//j的结束作用域
}//i的结束作用域
常用的数学函数:

三角函数
在这里插入图片描述
指数函数
在这里插入图片描述
取整函数
在这里插入图片描述

String相关函数

在这里插入图片描述
字符串比较:
在这里插入图片描述
获取字符或子串:
在这里插入图片描述
在这里插入图片描述

编程练习:

在这里插入图片描述

import java.util.Scanner;
public class Demo5_1 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a number:");
		long number=scanner.nextLong();
		int sum=sumDigits(number);
		System.out.println(sum);
	}
	public static int sumDigits(long n){
		int sum=0;
		while(true){
			sum+=n%10;
			n=n/10;
			if(n==0){
				break;
			}
		}
		return sum;
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_2{
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入一个整数:");
		int number = scanner.nextInt();
		System.out.println(isPalindrome(number));
	}
	public static int reverse(int number){
		String strNumber = ""+number;
		String s = "";
		for(int i=strNumber.length()-1;i>=0;i--){
			s=s+strNumber.charAt(i);
		}
		return Integer.parseInt(s);
	}
	public static boolean isPalindrome(int number){
		return reverse(number)==number;
	}
}

5.3
在这里插入图片描述

import java.util.Scanner;
public class Demo5_3 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("Enter the number:");
		int number = scanner.nextInt();
		System.out.println(reverse(number));
	}
	public static int reverse(int number){
//		String str = "";
//		while(true){
//			int a = number%10;
//			str = str+a;
//			number/=10;
//			if(number==0){
//				break;
//			}
//		}
//		return Integer.parseInt(str);
		String strNumber = ""+number;
		String s = "";
		for(int i=strNumber.length()-1;i>=0;i--){
			s = s+strNumber.charAt(i);
		}
		return Integer.parseInt(s);
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_4 {
	public static void main(String[] args) {
		Scanner scanner= new Scanner(System.in);
		System.out.println("Enter three numbers:");
		double num1 = scanner.nextDouble();
		double num2 = scanner.nextDouble();
		double num3 = scanner.nextDouble();
		displaySortNumbers(num1,num2,num3);
	
	}
	public static void displaySortNumbers(double num1,double num2,double num3){
		double temp = 0.0;
		if(num1>num2&&num1>num3){
			temp = num3;
			num3 = num1;
			num1 = temp;
			if(num1>num2){
				temp=num2;
				num2=num1;
				num1=temp;
			}
		}else if(num2>num1&&num2>num3){//num2最大
			temp=num2;
			num2=num3;
			num3=temp;
			if(num1>num2){
				temp=num1;
				num1=num2;
				num2=temp;
			}
		}else{
			if(num1>num2){
				temp=num1;
				num1=num2;
				num2=temp;
			}
		}
		System.out.println(num1+"<"+num2+"<"+num3);
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_5 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入行数:");
		int Line = scanner.nextInt();
		displayPattern(Line);
	}
	public static void displayPattern(int n){
		for(int i=1;i<=n;i++){
			for(int k=1;k<=n-i;k++){
				System.out.print("  ");
			}
			for(int j=i;j>=1;j--){
				System.out.print(j+" ");
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

public class Demo5_6 {
	public static void main(String[] args) {
		for(int celsius=-10;celsius<=40;celsius++){
			System.out.println(celsius+":"+celsiusToFahrenheit(celsius));
		}
	}
	public static double celsiusToFahrenheit(double celsius){
		return (9.0/5)*celsius+32;
	}
	public static double fahrenheitToCelsius(double fahrenheit){
		return (5.0/9)*(fahrenheit-32);
	}
}

在这里插入图片描述

public class Demo5_7 {
	public static void main(String[] args) {
		for(int i=1;i<=10;i++){
			double res1 = footToMeter((double)(i));
			System.out.print(res1+"   ");
			System.out.println();
		}
		for(int j=20;j<=65;j++){
			double res2 = meterToFoot((double)(j));
			System.out.print(res2);
			System.out.println();
		}
	}
	public static double footToMeter(double foot){
		return 0.325*foot;
	}
	public static double meterToFoot(double meter){
		return 3.279*meter;
	}
}

5.8
在这里插入图片描述

//import java.util.Scanner;
public class Demo5_8 {
	public static void main(String[] args) {
//		System.out.println("请输入一个整数n:");
//		Scanner scanner = new Scanner(System.in);
//		int number = scanner.nextInt();
		System.out.println(" i "+"  m(i):  ");
		for(int number=1;number<=20;number++){
			double mi = res(number);
			
			System.out.println(" "+number+"   "+mi);
		}
	}
	public static double res(int num){
		double sum=0;
		for(int i=1;i<=num;i++){
			sum=sum+i/i+1;
		}
		return sum;
	}
}

在这里插入图片描述

public class Demo5_9 {
		public static void main(String[] args) {
			System.out.println("i:"+"     m(i)");
			for(int i=1;i<1000;i+=100){
				System.out.println(i+"     "+mi(i));
			}
		}
		public static double mi(int num){
			double pi = 0;
			double flag = 1.0;
			for(int i=1;i<=num;i++){
				pi = pi+flag/(2*i-1);
				flag=-flag;
			}
			return 4*pi;
		}
}

在这里插入图片描述

import java.util.Random;
import java.util.Scanner;
public class Demo5_10 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("Enter the n:");
		int n = scanner.nextInt();
		printMatrix(n);
	}
	public static void printMatrix(int n){
		Random random = new Random();
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				System.out.print(random.nextInt(2)+" ");
			}
		System.out.println();
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_11 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入密码:");
		String password = scanner.nextLine();
		if(isPasswordValid(password)){//调用密码是否合法这个函数 如果为true 则合法 否则 密码不合法
			System.out.println("Valid Password");
		}else{
			System.out.println("Invalid Password");
		}	
	}
	public static boolean isPasswordValid(String password){//密码是否合法
		boolean condition1 = isLengthMorethanEigit(password);
		boolean condition2 = isOnlyDigitAndLetter(password);
		boolean condition3 = isMorethanTwoDigit(password);
		if(condition1&&condition2&&condition3){//如果三个函数都为true 即满足是三个条件,则返回真,否则返回false
			return true;
		}else{
			return false;
		}
	}
	public static boolean isLengthMorethanEigit(String password){//判断长度是否大于8
		return password.length()>=8;
	}
	public static boolean isOnlyDigitAndLetter(String password){//判断是否为字母和数字
		for(int i=0;i<password.length();i++){
			char c = password.charAt(i);
			if(!(isLetter(c)||isDigit(c))){//字母和数字分别为两个函数
				return false;
			}
		}
		return true;
	}
	private static boolean isDigit(char c) {//判断是否为数字
		return c>='0'&&c<='9';
	}
	private static boolean isLetter(char c) {//判断是否为字母
		return((c>='a'&&c<='z')||(c>='A'&&c<='Z'));
	}
	public static boolean isMorethanTwoDigit(String password){//判断是否超过两个数字
		return  getDigitCount(password)>=2;//返回布尔值(如果大于等于2则返回true,小于2则返回false)
	}
	private static int getDigitCount(String password) {//判断数字个数
		int count=0;
		for(int i=0;i<password.length();i++){
			char c = password.charAt(i);
			if(isDigit(c)){
				count++;
			}
		}
	return count;//返回数字个数
	}
}

5.12
在这里插入图片描述

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 isValid(double side1,double side2,double side3){
//		if(((side1+side2)>side3)&&((side2+side3)>side1)&&((side1+side3)>side2)){
//			return true;
//		}else{
//			return false;
//		}
		return 	((side1+side2)>side3)&&((side2+side3)>side1)&&((side1+side3)>side2);
	}
	public static double area(double side1,double side2,double side3){
		if(isValid(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("三边非法!");
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_13 {
	public static void main(String[] args) {
		System.out.print("Enter a number:");
		System.out.println(sqrt(new Scanner(System.in).nextLong()));
	}
	public static double sqrt(long n){
		double nextGuess=0.0;
		double lastGuess=1.0;
		while(true){
			nextGuess=(lastGuess+n/lastGuess)/2;
			if(Math.abs(nextGuess-lastGuess)<0.0001){
				break;
			}else{
				lastGuess=nextGuess;
			}
		}
		return nextGuess;
	}
}

在这里插入图片描述

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;		
	}
}

在这里插入图片描述

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;
	}
}

在这里插入图片描述

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);
	}
}

在这里插入图片描述

public class Demo5_18 {
	public static void main(String[] args) {
		for(int p=2;p<=31;p++){
			int num = (int)(Math.pow(2, p)-1);
			if(sushu(num)){
				System.out.println("("+p+" "+num+")");
			}	
		}
	}
	public static boolean sushu(int num){
		boolean flag = true;
		for(int i=2;i<=num/2;i++){
			if(num%i==0){
				flag=false;
				break;
			}
		}
		return flag;
	}	
}

在这里插入图片描述

public class Demo5_19 {
	public static void main(String[] args) {
		for(int i=2;i<998;i++){
			if(Demo5_18.sushu(i)&&Demo5_18.sushu(i+2)){
				System.out.println(i+":"+(i+2));
			}
		}
	}
}

在这里插入图片描述

public class Demo5_20 {
	public static void main(String[] args) {
		//1:随机生成两个数
		//2:计算两个数的和
			//2.1 如果两个数的和为2、3、12  lose
			//2.2 如果两个数的和为7、11 win
			//2.3 如果为4、5、6、8、9、10 继续随机生成两个数
				// 2.3.1 如果两个数和为7 lose
				// 2.3.2 如果两个数和为上次值 win
				// 2.3.3 继续
		boolean flag = true;
		int lastsum=0;
		while(true){
			int p1 = (int)(Math.random()*6+1);
			int p2 = (int)(Math.random()*6+1);
			int sum=p1+p2;
			System.out.println("you rolled "+p1+" + "+p2+"="+sum);
			if(flag){
				if(sum==2||sum==3||sum==12){
					System.out.println("you lose!");
					break;
				}else if(sum==7||sum==11){
					System.out.println("you win");
					break;
				}else{
					System.out.println("sum:"+sum);
					lastsum=sum;
					flag=false;
				}
			}else{
				if(sum==lastsum){
					System.out.println("you win");
					break;
				}else if(sum==7){
					System.out.println("you lose");
					break;
				}else{
					System.out.println("sum:"+sum);
					lastsum=sum;
				}
			}
		}	
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_21 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入边数(int)和边长(double):");
		int n = scanner.nextInt();
		double side = scanner.nextDouble();
		System.out.println(Demo5_22.area(n, side));
	}
}

5.22
在这里插入图片描述

import java.util.Scanner;
public class Demo5_22 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入边数(int)和边长(double):");
		int n = scanner.nextInt();
		double side = scanner.nextDouble();
		System.out.println(area(n,side));
	}
	public static double area(int n,double side){
		double area = (n*side*side)/(4*Math.tan(Math.PI/n));
		return area;
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_23 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("请输入三点坐标:");
		double x0 = scanner.nextDouble();
		double y0 = scanner.nextDouble();
		double x1 = scanner.nextDouble();
		double y1 = scanner.nextDouble();
		double x2 = scanner.nextDouble();
		double y2 = scanner.nextDouble();
		if(leftOfTheLine(x0,y0,x1,y1,x2,y2)){
			System.out.println("在左侧");
		}else if(oneTheSameLine(x0,y0,x1,y1,x2,y2)){
			System.out.println("在线段上");
		}else if(ontTheLineSegment(x0,y0,x1,y1,x2,y2)){
			System.out.println("在右侧");
		}
	}
	public static boolean leftOfTheLine(double x0,double y0,double x1,double y1,double x2,double y2){
			return ((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))>0;
	}
	public static boolean oneTheSameLine(double x0,double y0,double x1,double y1,double x2,double y2){
//		return ((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))==0;//可能存在误差0.000001
		return Math.abs(((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0)-0))<=0.00001;//
	}
	public static boolean ontTheLineSegment(double x0,double y0,double x1,double y1,double x2,double y2){
		return ((x1-x0)*(y2-y0)-(x2-x0)*(y1-y0))<0;
	}
}
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值