JavaSEday05

函数

函数(方法):指的就是一段具有独立功能的代码片段

修饰符 返回值类型 函数名(参数列表){
	  函数体
}

修饰符:访问权限
返回值类型:如果需要返回的数据值int,返回值类型int,如果不需要返回数据,返回值类型void
函数名:就是对这一片段进行起名
参数列表:函数需要用到的一些数据 可以给 可以不给
return:仅仅代表结束当前函数 如果有返回值 则在函数结束时 将数据进行返回

函数的重载

在同一类中 如有同名函数 则称之为函数之间为重载关系
重载的前提是 函数重名
与 修饰符 返回值类型 参数列表没有关系
仅仅和参数列表中 参数类型的排列组合有关系

public static int add(int n,int m){
		return n+m;
	}
private static double add(double n,double m){
		return n+m;
	}
private static double add(double n,int m){
		return n+m;
	}
private static double add(int  n,double  m){
		return n+m;
	}

常用的数学函数

三角函数

在这里插入图片描述

指数函数

在这里插入图片描述

取整函数

在这里插入图片描述

min、max、和abs方法

min求最小值
max求最大值
abs求绝对值

random方法

在这里插入图片描述

String相关函数

字符串

在这里插入图片描述

字符串比较

在这里插入图片描述

获取字符串中的字符或字串

在这里插入图片描述
在这里插入图片描述

编程题

在这里插入图片描述

import java.util.Scanner;
public class Demo5_1 {
	public static void main(String[] args) {
		//1.输入一个整数
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter the number:");
		int number=scanner.nextInt();
		//2.取出每一位数字
		//3.所有数字相加
		System.out.println(sumDigits(number));
	}
	public static int sumDigits(long n){
		int sum=0;
		while(true){
			int num = (int) (n%10);
			sum+=num;
			//sum+=n%10;
			n/=10;
			if(n==0){
				break;
			}
		}
		return sum;
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_2{
	public static void main(String args[]){
		//1.输入一个数字
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a number:");
		int number=scanner.nextInt();
		//2.调用函数判断整数是否回文
		System.out.println(isPalindrome(number));			
	}
	public static int reverse(int number){
//		String s="";
//		while(true){
//			s+=number%10;
//			number/=10;
//			if(number==0){
//				break;
//			}
//		}
//		return Integer.parseInt(s);
		String numberStr=""+number;
		String s="";
		for(int i=numberStr.length()-1;i>=0;i--){
			s+=numberStr.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[]){
		//1.输入一个数字
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter a number:");
		int number=scanner.nextInt();
		//2.调用函数显示整数的反向数
		System.out.println(reverse(number));			
	}
	public static int reverse(int number){
//		String s="";
//		while(true){
//			s+=number%10;
//			number/=10;
//			if(number==0){
//				break;
//			}
//		}
//		return Integer.parseInt(s);
		String numberStr=""+number;
		String s="";
		for(int i=numberStr.length()-1;i>=0;i--){
			s+=numberStr.charAt(i);
		}
		return Integer.parseInt(s);
	}
}

在这里插入图片描述

import java.awt.DisplayMode;
import java.util.Scanner;
public class Demo5_4 {
	public static void main(String[] args) {
		//1.提示用户输入两个数
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter three numbers:");
		double num1=scanner.nextDouble();
		double num2=scanner.nextDouble();
		double num3=scanner.nextDouble();
		//最终 num1存最小值 num2存中间值 num3存最大值
		displaySortedNumbers(num1,num2,num3);
	}
	public static void displaySortedNumbers(double num1,double num2,double num3){
		double temp=0.0;
		if(num1>num2&&num1>num3){//num1最大
			temp=num3;
			num3=num1;
			num1=temp;
			if(num1>num2){
				temp=num2;
				num2=num1;
				num1=temp;
			}
		}else if(num2>num1&&num2>num3){//num2最大
			temp=num3;
			num3=num2;
			num2=temp;
			if(num1>num2){
				temp=num2;
				num2=num1;
				num1=temp;
			}
		}else if(num3>num1&&num3>num2){//num3最大
			if(num1>num2){
				temp=num2;
				num2=num1;
				num1=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.print("Enter the line:");
		int line=scanner.nextInt();
		displayPattern(line);
	}
	public static void displayPattern(int line) {
		for(int i=1;i<=line;i++){
			for(int k=1;k<=line-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(double celsius=40.0;celsius>=31.0;celsius--){
			System.out.println(celsius+":"+celsiusToFahrenheit(celsius));
		}
		for(double fahrenheit=120.0;fahrenheit>=30.0;fahrenheit-=10){
			System.out.println(fahrenheit+":"+fahrenheitToCelsius(fahrenheit));
		}
	}
	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(double foot=1.0;foot<=10.0;foot++){
			System.out.println(foot+":"+footToMeter(foot));
		}
		for(double meter=20.0;meter>=10.0;meter--){
			System.out.println(meter+":"+meterToFoot(meter));
		}
	}
	private static double meterToFoot(double meter) {
		return 3.279*meter;
	}
	private static double footToMeter(double foot) {
		return 0.305*foot;
	}
}

5.8
在这里插入图片描述

public class Demo5_8{
	public static void main(String[] args){
		for(int i=1;i<=20;i++){
			System.out.println(i+":"+m(i));
			System.out.printf("%d : %8.4f\n",i,m(i));
		}
	}
	public static double m(int i){
		double sum=0.0;
		for(int k=1;k<=i;k++){
			sum+=1.0*k/(k+1);
		}
		return sum;
	}
}

在这里插入图片描述

public class Demo5_9 {
	public static void main(String[] args) {
		for(int i=1;i<=901;i+=100){
			System.out.println(i+":"+m(i));
		}
	}
	public static double m(int i){
		double pi=0.0;
		double flag=1.0;
		for(int k=1;k<=i;k++){
			pi+=flag/(2*k-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.print("Enter the n:");
		int n=scanner.nextInt();
		printMatrix(n);
	}
	public static void printMatrix(int n){
		Random random=new Random();//随机工具类Math.random()
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				System.out.print(random.nextInt(2)+" ");//[0,2)
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_11_1 {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter the password:");
		String password=scanner.nextLine();
		if(isPasswordValid(password)){
			System.out.print("Valid Password");
		}else{
			System.out.print("Invalid Password");
		}
	}
	public static boolean isPasswordValid(String password){
		boolean condition1=isLengthMoreThanEight(password);
		boolean condition2=isOnlyContainsLetterAndDigit(password);
		boolean condition3=isContainsMoreThanTwoDigits(password);
		if(condition1&&condition2&&condition3){
			return true;
		}else{
			return false;
		}
	}
	public static boolean isLengthMoreThanEight(String password){
		return password.length()>=8;
	}
	public static boolean isOnlyContainsLetterAndDigit(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 isLetter(char c) {		
		return c>='a'&&c<='z'||c>='A'&&c<='Z';
	}
	private static boolean isDigit(char c) {		
		return c>='0'&&c<='9';
	}
	public static boolean isContainsMoreThanTwoDigits(String password){
		return getDigitCount(password)>=2;
	}
	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
在这里插入图片描述

import java.util.Scanner;
public class Demo5_12 {
	public static void main(String[] args) {
		//1.输入三边的值		
		Scanner scanner=new Scanner(System.in);
		System.out.print("Ehter three side:");
		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&&side1+side3>side2&&side2+side3>side1){
			return true;
		}else{
			return false;
		}
	}
	public static double area(double side1,double side2,double side3){
		double area=0;
		if(isValid(side1,side2,side3)){
			double s=(side1+side2+side3)/2;
			area=Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));			
		}
		return area;
	}
}

在这里插入图片描述

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()));
	}
	private 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("asjfkshbcgacsafcasdf",'a'));
	}
	private 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;
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_15 {
	public static void main(String[] args) {
		 Scanner scanner=new Scanner(System.in);
		 System.out.print("请输入毫秒数");
		 long millis=scanner.nextLong();
		 System.out.println(covertMillis(millis));
	}
	private static String covertMillis(long millis) {
		long totalSeconds=millis/1000;
		long seconds=totalSeconds%60;
		long totalMinutes=totalSeconds/60;
		long minutes=totalMinutes%60;
		long totalHour=totalMinutes/60;
		long hour=totalHour%24;
		String s="";
		System.out.println(hour+":"+minutes+":"+seconds);
		return s;
	}
}

在这里插入图片描述

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(isSuShu(num)){
				System.out.println(p+":"+num);
			}
		}
	}
	public static boolean isSuShu(int num) {
		// TODO Auto-generated method stub
		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(isSuShu(i)&&isSuShu(i+2)){
				System.out.println("("+i+":"+(i+2)+")");
			}
		}
	}
	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 class Demo5_20{
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		boolean flag=true;
		int lastSum=0;
		while(true){
			int p1=(int) (1+Math.random()*6);
			int p2=(int) (1+Math.random()*6);
			int sum=p1+p2;
			System.out.println("You rooler "+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{
					flag=false;
					System.out.println("Point is "+sum);
					lastSum=sum;
				}
			}else{
				if(sum==lastSum){
					System.out.println("You win!");
					break;
				}else if(sum==7){
					System.out.println("You lose!");
					break;
				}else{
					System.out.println("Point is "+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.print("Enter the side:");
		double side=scanner.nextDouble();
		System.out.print("The area of the pentagon is "+area(side));
	}
	private static double area(double side) {
		double area=(5*side*side)/(4*Math.tan(Math.PI/5));
		return area;
	}
}

5.22
在这里插入图片描述

import java.util.Scanner;
public class Demo5_22 {
	public static void main(String[] args) {
		//
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter the number of sides:");
		int n=scanner.nextInt();
		System.out.print("Enter the side:");
		double side=scanner.nextDouble();
		double area=area(n, side);
		System.out.println(area);
	}
	public static double area(int n,double s){
		double area=(n*s*s)/(4*Math.tan(Math.PI/n));
		return area;
	}
}

在这里插入图片描述

import java.util.Scanner;
public class Demo5_23 {
	public static void main(String[] args) {
		//1.输入三个坐标 6个double值
		Scanner scanner=new Scanner(System.in);
		System.out.print("Enter three points:");
		double x0=scanner.nextDouble();
		double y0=scanner.nextDouble();
		double x1=scanner.nextDouble();
		double y1=scanner.nextDouble();
		double x2=scanner.nextDouble();
		double y2=scanner.nextDouble();
		//2.判断点的位置
		if(leftOfTheLine(x0, y0, x1, y1, x2, y2)){
			System.out.println("left");
		}else if(rightOfTheLine(x0, y0, x1, y1, x2, y2)){
			System.out.println("right");
		}else if(onTheLine(x0, y0, x1, y1, x2, y2)){
			System.out.println("on the line");
		}
	}
	//在左边
	public static boolean leftOfTheLine(double x0,double y0,
			double x1,double y1,double x2,double y2){
		return f(x0, y0, x1, y1, x2, y2)>0;
	}
	//在右边
	public static boolean rightOfTheLine(double x0,double y0,
			double x1,double y1,double x2,double y2){
		return f(x0, y0, x1, y1, x2, y2)<0;
	}
	//在线段上
	public static boolean onTheLine(double x0,double y0,
			double x1,double y1,double x2,double y2){
		return Math.abs(f(x0, y0, x1, y1, x2, y2)-0)<=0.001;
	}
	public static double f(double x0,double y0,
			double x1,double y1,double x2,double y2){
		return (x1-x0)*(y2-y0)-(x2-x0)*(y1-y0);
	}	
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值