从今天开始,积累写过的java代码

 1,打印三位数

/*
练习:随意给出一个三位数的整数,打印显是它的个位数,十位数,百位数的值。
格式如下:
数字xxx的情况如下:
个位数:
十位数:
百位数:

例如:
数字153的情况如下:
个位数:3
十位数:5
百位数:1

*/
class  AriExer
{
	public static void main(String[] args) 
	{
		int num = 345;
		int bai = num / 100;
		int shi = num % 100 / 10;//int shi = num / 10 % 10;
		int ge = num % 10;
		System.out.println("百位为:" + bai);
		System.out.println("十位为:" + shi);
		System.out.println("个位为:" + ge);
	}
}

小练习:交换两个变量值

// 练习:交换两个变量的值
		int num1 = 10;
		int num2 = 20;
		System.out.println("num1 =" + num1 + ",num2 = " + num2);

		/*
		方式一:定义临时变量。具有通用性,推荐。
		int temp = num1;
		num1 = num2;
		num2 = temp;
		System.out.println("num1 =" + num1 + ",num2 = " + num2);
		*/
		/*方式二:不用定义临时变量,但是相加操作可能超出存储范围,有局限性,只能用于数值型。
		num1 = num1 + num2;
		num2 = num1 - num2;
		num1 = num1 - num2;
		System.out.println("num1 =" + num1 + ",num2 = " + num2);
		*/
		//方式三:使用位运算符 关系式:m = k ^ n = (m ^ n) ^ n,有局限性,只能用于数值型。
		num1 = num1 ^ num2;
		num2 = num1 ^ num2;
		num1 = num1 ^ num2;
		System.out.println("num1 =" + num1 + ",num2 = " + num2);

小练习:获取三个数的最大值

//获取三个数的最大值
		int n1 = 12;
		int n2 = 30;
		int n3 = -43;

		int max1 = (n1 > n2)? n1 : n2;
		int max2 = (max1 > n3)? max1 : n3;
		System.out.println("三个数中的最大值为:" + max2);
		//不建议
		int max3 = (((n1 > n2)? n1 : n2) > n3)? ((n1 > n2)? n1 : n2) : n3;
		System.out.println("三个数中的最大值为:" + max3);

编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积

	double b1 = 1.2,b2 = 512.1;
	if((b1>=10.0 )&&(b2<=20.0)){
		System.out.println("两个数之和:"+ (b1+b2));
	}else{
		System.out.print("两个数之积:"+(b1*b2));
			} 


求一个0~255内一个数的十六进制转化,例如六十的十六进制表示3C

//方式1:自动
String str1 = Integer.toBinaryString(60);
String str2 = Integer.toHexString(60);

//方式2:手动
	int i1 = 60;
	int i2 = i1&15;
	String j = (i2 > 9)?(char)(i2-10 + 'a') + "" : i2 + "";
	int temp = i1 >>> 4;
	i2 = temp & 15;
	String k = (i2 > 9)?(char)(i2-10 + 'a') + "" : i2 + "";
	System.out.println(k + "" + j);

if练习1

/*
岳小鹏参加Java考试,他和父亲岳不群达成承诺:
如果:
成绩为100分时,奖励一辆BMW;
成绩为(80,99]时,奖励一台iphone xs max;
当成绩为[60,80]时,奖励一个iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断


*/
import java.util.Scanner;
class IfTest {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);//获取控制台输入

		System.out.println("请输入岳小鹏的期末成绩:(0-100)");
		int score = scan.nextInt();

		if(score == 100){
			System.out.println("奖励一辆马自达");
		}else if(score > 80 && score <=99){
			System.out.println("奖励一台小米 xs max");
		}else if(score >= 60 && score <=80){
			System.out.println("奖励一个Pad");
		}else{
			System.out.println("奖励一个大逼斗!");
		}
	}
}

if练习2

/*
编写程序:由键盘输入三个整数分别存入变量num1、num2、num3,
对它们进行排序(使用 if-else ),并且从小到大输出。


说明:
1.if-else结构是可以相互嵌套的
2.如果if-else结构中的执行语句只有一行时,对应的一对{}可以省略的。一般不建议。
*/
import java.util.Scanner;
class IfTest2 {
	public static void main(String[] args) {

		Scanner scanner = new Scanner(System.in);

		System.out.println("请输入第一个整数:");
		int num1 = scanner.nextInt();
		System.out.println("请输入第二个整数:");
		int num2 = scanner.nextInt();
		System.out.println("请输入第三个整数:");
		int num3 = scanner.nextInt();

		if(num1 >= num2){
			if(num3 >= num1){
				System.out.println(num2 + "," + num1 + "," + num3);
			}else if(num3 <= num2){
				System.out.println(num3 + "," + num2 + "," + num1);
			}else{
				System.out.println(num2 + "," + num3 + "," + num1);
			}
	}else{//num1 < num2
		if(num3 >= num2){
				System.out.println(num1 + "," + num2 + "," + num3);
			}else if(num3 <= num1){
				System.out.println(num3 + "," + num1 + "," + num2);
			}else{
				System.out.println(num1 + "," + num3 + "," + num2);
			}
	}
	}
}

调用Scanner

/*
如何从键盘获取不同类型的变量:需要使用Scanner类

具体实现步骤:
1.导包:import java.util.Scanner;
2,Scanner的实例化
3.调用Scanner类的相关方法(next() / nextXxx()),来获取指定类型的变量

注意:
需要根据相应的方法,来输入指定类型的值。如果输入的数据类型与要求的数据类型不匹配时,会报异常InputMismatchException,导致程序终止。
*/

import java.util.Scanner;
class ScannerTest {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		//调用Scanner类的相关方法:
		System.out.println("请输入你的姓名:");
		String name = scan.next();
		System.out.println(name);

		System.out.println("请输入你的年龄:");
		int age = scan.nextInt();
		System.out.println(age);

		System.out.println("请输入你的体重:");
		double weight = scan.nextDouble();
		System.out.println(weight);

		System.out.println("你喜欢miku吗?(true/false)");
		boolean islove = scan.nextBoolean();
		System.out.println(islove);

		//对于char型的获取,Scanner没有提供相关方法。只能获取一个字符串
		System.out.println("请输入你的性别:(男/女)");
		String gender = scan.next();//"男"
		char genderChar = gender.charAt(0);//获取索引为0位置上的字符
		System.out.println(genderChar);

		//int num = scan.nextInt();
		//System.out.println(num);
	}
}

相亲啦!

/*
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以上;富:财富1千万以上;帅:是。
≥如果这三个条件同时满足,则:“我一定要嫁给他!”
如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
如果三个条件都不满足,则:“不嫁!”

*/
import java.util.Scanner;

class IfExer1 {
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);


		System.out.println("请输入你的身高:(cm)");
		int height = scan.nextInt();
		System.out.println("请输入你的财富:(千万)");
		double wealth = scan.nextDouble();
		/*
		方式一:
		System.out.println("你是否是倾城大帅比:(true/false)");
		boolean isHandsome = scan.nextBoolean();

		if(height >= 180 && wealth >= 1 && isHandsome){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome){
			System.out.println("嫁吧,有总比没有好。。。");
		}else{
			System.out.println("穷屌丝还敢相亲?gunb!");
		}
		*/
		
		//方式二:
		System.out.println("你是否是倾城大帅比:(是/否)");
		String isHandsome = scan.next();

		if(height >= 180 && wealth >= 1 && isHandsome.equals("是")){
			System.out.println("我一定要嫁给他!!!");
		}else if(height >= 180 || wealth >= 1 || isHandsome.equals("是")){
			System.out.println("嫁吧,有总比没有好。。。");
		}else{
			System.out.println("穷屌丝还敢相亲?gunb!");
		}
	}
}

买彩票咯

/*
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,
提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。
1)如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。
2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3 000美元。
3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。
4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。
5)如果用户输入的数字没有匹配任何一个数字,则彩票作废。
提示:使用(int)(Math.random() * 90  + 10)产生随机数。
Math.random() : [0,1)  * 90 [0,90) + 10 [10,100)[10,99]

*/
import java.util.Scanner;//引入Scanner

class  LuckyTicket{
	public static void main(String[] args) {
		//重点1.随机生成一个两位数,在[0,99)内
		int number = (int)(Math.random() * 90 + 10);//得到[10,100)
		//定义随机两位数的十位个位
		int num1 = number / 10;
		int num2 = number % 10;
		//重点2.用户输入一个两位数
		Scanner input = new Scanner(System.in);//获取控制台输入
		System.out.println("请输入你想购买的号码: (两位)");
		int guess = input.nextInt();//引用nextInt赋值guess为控制台输入的值
		//定义guess的十位个位
		int gue1 = guess / 10,gue2 = guess % 10;
		//if-else结构判断条件是否符合
		if (number == guess){
			System.out.println("恭喜!获得奖金10 000刀乐!");
		}else if (num1 == gue1 && num2 ==  gue2 ){
			System.out.println("真不戳~获得奖金3 000刀乐!");
		}else if(num1 == gue1 || num2 ==  gue2){
			System.out.println("诶嘿,获得奖金1 000刀乐。");
		}else if(num1 == gue2 || num2 ==  gue1){
			System.out.println("还行...获得奖金500刀乐。");
		}else
			System.out.println("这都没中?彩票作废...");
			System.out.println("本期彩票号码是:" + number);
			
	}
}

用switch-else结构改变输入字母大小写题

/*
使用switch 把小写类型的char型转为大写。只转换a,b,c,d,e,其他的输出“other”。
提示:String word =scan.next(); char c = word.charAt(0);  switch(c){}
*/
import java.util.Scanner;

class ChangeLetter{
	public static void main(String[] args) {
	Scanner scan = new Scanner(System.in);	
	String word = scan.next();
	char c = word.charAt(0);
	switch(c){
		case 'a': {
			System.out.println("A");
			break;
		}
		case 'b': {
			System.out.println("B");
			break;
		}
		case 'c': {
			System.out.println("C");
			break;
		}
		case 'd': {
			System.out.println("D");
			break;
		}
		case 'e': {
			System.out.println("E");
			break;
		}
		default:{
			System.out.println("other");
		}
	}
		
	}
}

输入年月日判断日子

/*
从键盘分别输入年,月,日,判断这一天是当年的第几天
注:判断一年是否是闰年的标准:可以被4整除,但不可以被100整除 || 可以被400整除

说明:
1凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
2.我们写分支结构时,当发现既可以使用switch-case,〔(同时,switch中表达式的取值情况不太多),
又可以使用,我们优先选择使用switch-case。原因:switch-case执行效率稍高。

*/


import java.util.Scanner;
class SwitchCaseExer {
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		System.out.println("请输入年份:");
		int year = scan.nextInt();
		System.out.println("请输入月份:");
		int month = scan.nextInt();
		System.out.println("请输入日子:");
		int day = scan.nextInt();

		int sumDays = 0;

		switch (month){
		case 12:
			sumDays += 30;
		case 11:
			sumDays += 31;
		case 10:
			sumDays += 30;
		case 9:
			sumDays += 31;
		case 8:
			sumDays += 31;
		case 7:
			sumDays += 30;
		case 6:
			sumDays += 31;
		case 5:
			sumDays += 30;
		case 4:
			sumDays += 31;
		case 3:
			//sumDays += 28;
		    //判断year是否为闰年
			if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0 ){
			sumDays += 29;
			}else sumDays += 28;
		case 2:
			sumDays += 31;
		case 1:
			sumDays += day;
		}
		System.out.println( year + "年" + month + "月" + day + "日是当年的第" + sumDays + "天");
	}
	}

水仙花数

/*
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
例如:153 = 1*1*1 + 3*3*3 + 5*5*5

*/
class ForTest2{
	public static void main(String[] args){
		for(int i = 100;i <= 999;i++){
			int a = i / 100;	//获取百位
			int b = i % 100 /10;	//获取十位
			int c = i % 10;	//获取个位
			if(a*a*a + b*b*b + c*c*c == i){
				System.out.println("此数值为满足条件的水仙花数:" + i);
			}
		}
	}
}

彩票2.0!!!

/*
假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,
提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。
1)如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。
2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3 000美元。
3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。
4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。
5)如果用户输入的数字没有匹配任何一个数字,则彩票作废。
提示:使用(int)(Math.random() * 90  + 10)产生随机数。
Math.random() : [0,1)  * 90 [0,90) + 10 [10,100)[10,99]

新功能:当你输入非两位数的时候会温柔的提示你重新输入
*/
import java.util.Scanner;//引入Scanner

class  LuckyTicket2{
	public static void main(String[] args) {
		//重点1.随机生成一个两位数,在[0,99)内
		int number = (int)(Math.random() * 90 + 10);//得到[10,100)
	
		int num1 = number / 10;
		int num2 = number % 10;
		
		Scanner input = new Scanner(System.in);
		System.out.println("欢迎~光~临!本彩票店每张彩票300刀乐,请问您是否购买?  (是/否)");
		String goumai = input.next();
		if (goumai.equals("是")){	
			System.out.print("感谢亲的购买~" + "\n");
		}else if(goumai.equals("否")){
			System.out.println("嘁,穷逼886!");
			return;
		}else{ 
			System.out.println("不买别捣乱,走走走!");
			return;
		}

		System.out.println("请输入你想购买的号码: (两位)");

		int guess = input.nextInt();

		if (guess >99 || guess < 10);
		do {
			System.out.print("小学没学好?给我输入两位数!" + "\n" + "\n");
			System.out.println("请输入你想购买的号码: (两位!!!!!!)" );
			guess = input.nextInt();
		}while (guess >99 || guess < 10);
		
		int gue1 = guess / 10,gue2 = guess % 10;

		if (number == guess){
			System.out.println("恭喜!获得奖金10 000刀乐!");
		}else if (num1 == gue1 && num2 ==  gue2 ){
			System.out.println("真不戳~获得奖金3 000刀乐!");
		}else if(num1 == gue1 || num2 ==  gue2){
			System.out.println("诶嘿,获得奖金1 000刀乐。");
		}else if(num1 == gue2 || num2 ==  gue1){
			System.out.println("还行...获得奖金500刀乐。");
		}else
			{System.out.println("这都没中?彩票作废...");
			
			}System.out.println("本期彩票号码是:" + number);

			
	}
}

 杨辉三角

/*使用二维数组打印一个 10 行杨辉三角。
 * 【提示】
 * 1. 第一行有 1 个元素, 第 n 行有 n 个元素
 * 2. 每一行的第一个元素和最后一个元素都是 1
 * 3. 从第三行开始, 对于非第一个元素和最后一个元素的元素。
 * 即:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
 */

public class ArrayExer2 {
public static void main(String[] args) {
	//1.声明并初始化二维数组
	int yanghui[][]=new int[10][];
	//2.给数组的元素赋值,遍历二维数组
	for (int i = 0; i < yanghui.length; i++) {
		yanghui[i] = new int[i+1];
	//2.1 给首末元素赋值
		yanghui[i][0] = yanghui[i][i] = 1;
	//2.2 给每行的非首末元素赋值
	for (int j = 1; j < yanghui[i].length -1; j++) {
			yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
		}
	}
	//	3.遍历数组
	for (int i = 0; i < yanghui.length; i++) {
		for (int j = 0; j < yanghui[i].length; j++) {
			System.out.print(yanghui[i][j] + " ");
		}
			System.out.println();
	}
}
}

 数组相关

/*
 * 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,
    然后求出所有元素的最大值,最小值,和值,平均值,并输出出来。
   要求:所有随机数都是两位数。
提示;
[0,1) * 90 [0,90) + 10  [10,100) [10,99]
(int)(Math.random() * 90 + 10)
 */
public class Arraytest1 {
public static void main(String[] args) {
	int[] arr = new int[10];
	//获取随机数
	for (int i = 0; i < arr.length; i++) {
		arr[i] = (int)(Math.random() * (99 - 10 + 1) + 10);
	}
	//遍历
	for (int i = 0; i < arr.length; i++) {
		System.out.print(arr[i] + "\t");
	}
	System.out.println();
	//求数组元素的最大值
	int maxValue = arr[0];//不能定义为0,以免出现负数情况无法准确求出最大值。
	for (int i = 0; i < arr.length; i++) {
		if (maxValue < arr[i]) {
			maxValue = arr[i];
		}
	}
	System.out.println("最大值为:" + maxValue);
	//求数组元素的最小值
	int minValue = arr[0];
	for (int i = 0; i < arr.length; i++) {
		if (minValue >arr[i]) {
			minValue = arr[i];
		}
	}
	System.out.println("最小值为:" + minValue);
	//求数组元素的总和
	int sum = 0;
	for (int i = 0; i < arr.length; i++) {
		sum += arr[i];
	}
	System.out.println("总和为:" + sum );
	//求数组元素的平均数
	double avgValue = sum / arr.length;
	System.out.println("平均数为:" + avgValue);


}
}

斐波那契数列

package CircleTest;
//例4:计算斐波那契数列的第n个值,并将整个数列打印出来
//输入一个数据n,计算斐波那契数列(Fibonacci)的第n个值
//1  1  2  3  5  8  13  21  34  55
//规律:一个数等于前两个数之和
//要求:计算斐波那契数列(Fibonacci)的第n个值,并将整个数列打印出来
public class Test4 {
public static void main(String[] args) {
		
		Test4 test = new Test4();
		int n = 10;
		int value = test.Fib(n);
		System.out.println(value);
	
		for(int i = 1;i <= n;i++){
			System.out.print(Fib(i) + " ");
		}
	}
	
	public  static int Fib(int n ) {
		
		if (n == 1 || n == 2) {
			return 1;
		} else {
			return Fib(n - 1) + Fib(n - 2);
		}
	}

}

汉诺塔

 

package com.atguigu.java2;
import java.util.Scanner;
public class Hanuota {
	static int m = 0;//标记移动次数
	
	//实现移动的函数
	
	public static void move(int disks, char N, char M){
		System.out.println("第" + (++m) + " 次移动 : " + " 把 " + disks + " 号圆盘从 " + N + " ->移到->  " + M);
	}
	
	// 递归实现汉诺塔的函数
	
	public static void hanoi(int n,char A,char B,char C){
		if (n == 1){ //圆盘只有一个时,只需将其从A塔移到C塔
			Hanuota.move(1, A, C);//将编号为1的圆盘从A移动到C
		}else{
			hanoi(n -1,A,C,B);//递归,把A塔上编号1~n-1的圆盘移到B上,以C为辅助器
			Hanuota.move(n, A, C);//把A塔上编号为n的圆盘移到C上
			hanoi(n-1,B,A,C);//递归,把B塔上编号1~n-1的圆盘移到C上,以A为辅助器
		}
		
	}
	
	public static void main(String[] args){
		Scanner in = new Scanner(System.in);
		
		char A = 'A';
		char B = 'B';
		char C = 'C';
		System.out.println("******************************************************************************************");
        System.out.println("汉诺塔问题(把A塔上编号从小号到大号的圆盘从A塔通过B辅助塔移动到C塔上去---山东科技大学昝道广)");
        System.out.println("******************************************************************************************");
        System.out.print("请输入圆盘的个数:");
        
        int n = in.nextInt();
        Hanuota.hanoi(n, A, B, C);
        System.out.println(">>移动了" + m + "次,把A上的圆盘都移动到了C上");
        in.close();
	}
	
	
	
	
	
}







快排

package com.atguigu.java2;

import java.nio.charset.MalformedInputException;

/*
 * 基本思路:
 * 首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,
 * 然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。
 * 
 * 最优情况如下:
 * 快速排序需要栈空间来实现递归,如果数组按局等方式被分割时,则最大的递归深度为 log n,需要的栈空间为 O(log n)。
 * 比较坏的情况下在递归的每一级上,数组分割成长度为0的左子数组和长度为 n - 1 的右数组。
 * 这种情况下,递归的深度就成为 n,需要的栈空间为 O(n)。
 * 
 * 最坏情况如下:
 * 当基数值不能很好地分割数组,即基准值将数组分成一个子数组中有一个记录,
 * 而另一个子组组有 n -1 个记录时,下一次的子数组只比原来数组小 1,这是快速排序的最差的情况。
 * 如果这种情况发生在每次划分过程中,那么快速排序就退化成了冒泡排序,其时间复杂度为O(n2)。
 *
 * 稳定性如下:
 * 因为快速排序在进行交换时,只是根据比较基数值判断是否交换,且不是相邻元素来交换,
 * 在交换过程中可能改变相同元素的顺序,因此是一种不稳定的排序算法。
 */
public class QuickSort {
	/**
	 * 
	 * @Description 随机数组生成 ,长度为size,取值范围为(-value,value)
	 * @author kanso258
	 * date2021年11月21日上午12:01:47
	 * @param size
	 * @param value
	 * @return 随机排序数组
	 */
	public static int[] randomArray(int size, int value) {
		int[] arr = new int[size];
		for (int i = 0; i < arr.length; i++) {
			arr[i] = (int) (Math.random() * (value + 1)) - (int) (Math.random() * value);
		}
		return arr;
	}
	
	public static void main(String[] args) {
		int[] the_array = randomArray(10, 50);
		System.out.print("之前的排序:");
		for (int i = 0; i < the_array.length; i++) {
			System.out.print(the_array[i] + " ");

		}//遍历随机生成的原数组
		System.out.println();
		int[] result_array = quickSort(the_array, 0, the_array.length - 1);
		System.out.print("快速排序:");
		for (int i = 0; i < result_array.length; i++) {
			System.out.print(result_array[i] + " ");
		}//遍历排序后的新数组
	}

	/**
	 * 
	 * @Description 快排方法的实现:我们在数组的第一个位置放个标识m,最后一个位置放一个标识n,
	 * m一直向后移,直到遇到一个比m大的,n一直向左移,直到遇到一个比n小的,然后交换,交换完之后继续循环。
	 * @author kanso258
	 * date2021年11月21日上午12:00:17
	 * @param the_array
	 * @param start
	 * @param end
	 * @return 排序好的数组
	 */
	public static int[] quickSort(int[] the_array, int start, int end) {
		if (start <= end) {
			//
			int m = start, n = end;
			int the_base = the_array[m];
			while (m < n) {
				while ((m < n) && (the_array[n] >= the_base)) {
					n--;
				}
				the_array[m] = the_array[n];
				while ((m < n) && (the_array[m] <= the_base)) {
					m++;
				}
				the_array[n] = the_array[m];
				the_array[m] = the_base;
				quickSort(the_array, start, m - 1);
				quickSort(the_array, n + 1, end);

			}

		}
		return the_array;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值