BNUZ程协技术部2020寒假任务简单版(后端)

9 篇文章 1 订阅

前言

这只是我还没系统学java时写的代码,后续还会改的,毕竟有些地方还不是很规范

1 检查密码

题目

第一题

代码

其实这个只要有C语言的基础,不需要学太多的java就能写了

import java.util.Scanner;


public class Bnuz_pass{
	public static void main(String[] args) {
		boolean digit;
		
		Scanner scanner =new Scanner(System.in);
		
		System.out.println("请输入密码");
		
		while (scanner.hasNext()) {
			String pass=scanner.nextLine();
			int i,to=1,fig=0,to1=0,to2=0;
			int length=pass.length();//获取密码的长度
			
//			将用户输入的密码保存到字符串变量 pass 中,再调用 pass.length() 方法将长度保存到 length 变量
			
			if(length<8) {//长度小于8
				System.out.println("NO Password at least 8 digits");
			}
			else {//长度大于8进入下一轮判断
				char[] charArray = pass.toCharArray();
				for (i = 0; i <length; i++){
					char x=pass.charAt(i);
					
					digit = Character.isDigit(charArray[i]);
//					System.out.println(pass.charAt(i));
					
					
					if(x<='9'&&x>='0') {
						to1=1;
					}
					else if(x<=122&&x>=97) {
						to2=1;
					}
					else if(x<=90&&x>=65) {
						to2=1;
					}
					else {
						to=0;
					}
				}
				
				if(to!=0&&to1==1&&to2==1){
					for (i = 0; i <length; i++){
						char x=pass.charAt(i);
						if(x<='9'&&x>='0') {
							fig++;
						}
					}
					if(fig<2) {//数字小于2
						System.out.println("NO Password requires two digits");
					}
					else {
						System.out.println("YES");
					}
				}
				else{
					System.out.println("NO Password can only consist of characters and numbers");
				}
			}
		}
	}
}

改进

题目来源Wejudge#2452,而且上面的代码有点小错

import java.util.Scanner;

public class w2452 {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        while (scanner.hasNext()) {
            String pass = scanner.nextLine();
            int i, fig = 0, ff = 1;
            if (pass.length() < 8) {//长度小于8
                System.out.println("NO Password at least 8 digits");
            } else {//长度大于8进入下一轮判断
                for (i = 0; i < pass.length(); i++) {
                    char x = pass.charAt(i);
                    if (Character.isDigit(x) || Character.isLetter(x)) {

                    } else {
                        ff = 0;
                    }
                    if (Character.isDigit(x)) fig++;
                }
                if (ff == 1) {
                    if (fig < 2) {
                        System.out.println("NO Password requires two digits");
                    } else {
                        System.out.println("YES");
                    }
                } else {
                    System.out.println("NO Passwords can only consist of characters and numbers");
                }
            }
        }
        scanner.close();
    }
}

2 输出学生成绩

题目

写一个学生类,私有成员有学号,姓名,班级,c语言成绩,高数成绩,java成绩,并且实现Comparable接口,从键盘输入学生人数和学生的信息,按照总成绩从大到小输出学生信息;

代码

写这个的时候还没怎么学接口,接口那一块我是直接仿照网上写的

package Comparable;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class BNUZ_GradeComparable {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("请输入学生数量(输完请按回车):");
		
		Scanner in = new Scanner(System.in);
		int amount = in.nextInt();
		
		BNUZ_StuGrade[] BNUZ = new BNUZ_StuGrade[amount];//创建对象
		
		BNUZ_StuGrade[] BNUZ2 = new BNUZ_StuGrade[amount];//创建对象
		
		for( int i = 0 ; i < amount ; i++ ){
			BNUZ[i] = new BNUZ_StuGrade();
			
			System.out.println("请按顺序输入第"+(i+1)+"位学生的学号,姓名,班级,c语言成绩,高数成绩,java成绩(输完请按回车)");
			
			Scanner mess = new Scanner(System.in);
			
			int aa = mess.nextInt();
			BNUZ[i].setId(aa);
			
			String q = mess.next();
			BNUZ[i].setName(q);
			
			int b = mess.nextInt();
			BNUZ[i].setClas(b);
			
			int c = mess.nextInt();
			BNUZ[i].setCScore(c);
			
			int d = mess.nextInt();
			BNUZ[i].setJavaScore(d);
			
			int e = mess.nextInt();
			BNUZ[i].setMathScore(e);
			
			BNUZ[i].add();
		}
		
		List<BNUZ_StuGrade> list = new ArrayList<>();
		for(int i=0 ; i < amount ; i++ ) {
			list.add(BNUZ[i]);
		}
		
		System.out.println("依照总分从大到小进行进行排序:");
		
		 Collections.sort(list);
		 
		 int i = 0;
		 
		 for(BNUZ_StuGrade ss : list) {
			 BNUZ2[i] = new BNUZ_StuGrade();
			 BNUZ2[i].setId(ss.getId());
			 BNUZ2[i].setName(ss.getName());
			 BNUZ2[i].setClas(ss.getClas());
			 BNUZ2[i].setCScore(ss.getCScore());
			 BNUZ2[i].setJavaScore(ss.getJavaScore());
			 BNUZ2[i].setMathScore(ss.getMathScore());
			 i++;
		 }
		 
		 
//		for (BNUZ_StuGrade ss : list) {
//            System.out.println(ss.getId()+" "+ss.getName()+" "+ss.getClas()+
//            	" "+ss.getCScore()+" "+ss.getJavaScore()+" "+ss.getMathScore());
//        }
		
		for(i = amount-1;i >= 0;i--) {
			System.out.println(BNUZ2[i].getId()+" "+BNUZ2[i].getName()+" "+BNUZ2[i].getClas()+
	            	" "+BNUZ2[i].getCScore()+" "+BNUZ2[i].getJavaScore()+" "+BNUZ2[i].getMathScore());
		}
		
	}
}
package Comparable;

public class BNUZ_StuGrade implements Comparable<BNUZ_StuGrade>{
	private int id;
	private String name;
	private int clas;//班级
	private int cScore;
	private int javaScore;
	private int mathScore;
	private int amount;
	
	public void setId(int a)
	{
		this.id=a;
	}
	public int getId()
	{
		return id;
	}
	
	public void setName(String a)
	{
		this.name=a;
	}
	public String getName()
	{
		return name;
	}
	
	public void setClas(int a)
	{
		this.clas=a;
	}
	public int getClas()
	{
		return clas;
	}
	
	public void setCScore(int a)
	{
		this.cScore=a;
	}
	public int getCScore()
	{
		return cScore;
	}
	
	public void setJavaScore(int a)
	{
		this.javaScore=a;
	}
	public int getJavaScore()
	{
		return javaScore;
	}
	
	public void setMathScore(int a)
	{
		this.mathScore=a;
	}
	public int getMathScore()
	{
		return mathScore;
	}
	
	public int getAmount()
	{
		return amount;
	}
	
	public void add()
	{
		amount = mathScore + javaScore + cScore;
	}
	
	@Override
	public int compareTo(BNUZ_StuGrade o) {
		// TODO Auto-generated method stub
		return this.amount-o.amount;
	}
}

3 图形类继承

题目

写一个图形类(抽象类),有获得面积和获得体积的抽象方法,以及颜色是否填充。写一个三角形和圆形还有矩形继承图形类,实现抽象方法。

代码

学长没说要弄一个图形界面,…唉
图形界面的代码是网上copy的[破涕为笑]

package shapes;

import java.util.Scanner;

public class MyPic {
	public static void colour() {
		System.out.println("是否填充颜色");
		System.out.println("1是");
		System.out.println("2否");
		Scanner in = new Scanner(System.in);
		System.out.println("好的");
	}
	public static void main(String[] args) 
	{
		System.out.println("请输入正三角形,圆形,正方形的面积");
		//不是正多边形的话输入面积就难以确定边长,还有,不会填充颜色...图形就没搞颜色了
		
		Scanner in = new Scanner(System.in);
		double a,b,c;
		a = in.nextDouble();
		b = in.nextDouble();
		c = in.nextDouble();
		
		colour();
		
		Picture pic = new Picture(400,300);
		Circle c1 = new Circle(40,20,(int)Math.sqrt(b/3.14));
		Rectangle r1 = new Rectangle(100, 100, (int)Math.sqrt(c), (int)Math.sqrt(c));
		Triangle t1 = new Triangle(90, 90, 90+2*(int)Math.sqrt(a/1.73), 90, (90+90+2*(int)Math.sqrt(a/1.73))/2, (int)(1.732*Math.sqrt(a/1.73)));
		pic.add(c1);
		pic.add(r1);
		pic.add(t1);
		pic.draw();	
	}
}

package shapes;

import java.awt.Graphics;

public abstract class Shape {
	
	public abstract void draw(Graphics g);
	
}

package shapes;

import java.awt.Graphics;

public class Circle extends Shape {
	private int x;
	private int y;
	private int radius;
	
	public Circle(int x, int y, int radius)
	{
		this.x = x;
		this.y = y;
		this.radius = radius;
	}
	@Override
	public void draw(Graphics g) {
		g.drawOval(x-radius, y-radius, radius*2, radius*2);
	}
}

package shapes;

import java.awt.Graphics;

public class Rectangle extends Shape {
	private int x;
	private int y;
	private int width;
	private int height;
	
	public Rectangle(int x, int y, int width, int height) {
		this.x = x;
		this.y = y;
		this.width = width;
		this.height = height;
	}

	@Override
	public void draw(Graphics g) {
		g.drawRect(x, y, width, height);
	}

}

package shapes;

import java.awt.Graphics;

public class Triangle extends Shape {
	private int[] x = new int[3];
	private int[] y = new int[3];
	
	public Triangle(int x1, int y1, int x2, int y2, int x3, int y3)
	{
		x[0] = x1; x[1] = x2; x[2] = x3;
		y[0] = y1; y[1] = y2; y[2] = y3;
	}
	
	@Override
	public void draw(Graphics g) {
		g.drawPolygon(x, y, x.length);
	}

}

package shapes;

import java.awt.Graphics;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Picture extends JFrame {
	private static final long serialVersionUID = 1L;
	private int width;
	private int height;
	
	private ArrayList<Shape> listShape = new ArrayList<Shape>();
	
	private class ShapesPanel extends JPanel {
		private static final long serialVersionUID = 1L;

		@Override
		protected void paintComponent(Graphics g) {
			super.paintComponent(g);
			for ( Shape s : listShape )
			{
				s.draw(g);
			}			
		}
		
	}
	
	public void add(Shape s)
	{
		listShape.add(s);
	}

	public Picture(int width, int height)
	{
		add(new ShapesPanel());
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.width = width;
		this.height = height;
	}
	
	public void draw()
	{
		setLocationRelativeTo(null);
		setSize(width, height);
		setVisible(true);
	}
}

4 动物园

题目

请根据以下场景进行类建模(画类图)和实现相应代码。
场景如下:
1)假设有一个动物园(Zoo类来实现),动物园名称由用户定义,动物园有好多动物(Animal类);
2)动物园里可以增加动物public void add(Animal animal ) ,和移除动物remove(Animal animal )
3)可以统计动物园中动物园的数量public int count()
4)可以列出动物园里的所有动物。public void listAnimals() ,显示动物的类名和动物名称
5)有多种多样的动物,每只动物都有个名称。动物都会发出叫声 wow()
6)考虑时间关系,假设只有两种动物,分别是老虎(Tiger类)和蛇(Snake类)。老虎和蛇的叫声分别是roaring 和hissing
7)有一个管理员(Manager)来管理动物园。他可以放动物到动物园,也可以从动物园里移除动物。当放入动物的时候,动物会发出自己的声音。叫声的格式:动物名 is 叫声!
8)假设有个Game类,来完成模拟管理园放动物到动物园和从动物园移除动物的工程。参考代码Game中的main方法。

注意:
1)需要完成类图的设计(可以使用powerdesigner)
2)完成代码的编写
3)思考一下,还有什么地方可以更好或者更完善

代码

这个差不多都是自己写的,不过有好几个地方的代码不是很规范,仅仅是能够运行而已

package zoo;

public class Animal {
	protected String name;
	protected String wow;
	
	public Animal(String name) {
		super();
		this.name = name;
	}
	
	public void print() {
		// TODO Auto-generated method stub
		System.out.println(this.name+" is "+this.wow);
	}
	
	
}

package zoo;

import java.util.Scanner;

public class Game {
	public static void main(String[] args) {
		
		// TODO Auto-generated method stub
		//用户输入动物园名称 管理员名称 老虎名1 老虎名2 蛇名1 蛇名2(名字之间不允许空格)
		
		System.out.println("输入 动物园名称 管理员名称 老虎名1 老虎名2 蛇名1 蛇名2");
		Scanner input = new Scanner(System.in);
		
//		while (input.hasNext()) {
		
			// 创建一个动物园
			Zoo zoo = new Zoo(input.next());
			
			// 有个管理员
			Manager manager = new Manager(input.next());
			
			// 管理刚才创建的动物园
			manager.setManage(zoo);
			
			// 创建2只老虎
			Animal tiger1 = new Tiger(input.next());
			Animal tiger2 = new Tiger(input.next());
			
			// 创建2条蛇
			Animal snake1 = new Snake(input.next());
			Animal snake2 = new Snake(input.next());
			
			// 管理员将他们放到动物园.每次放动物到动物园时,动物都会发出叫声
			//叫声的格式:动物名 is 叫声!
			//老虎叫声用roaring,蛇叫声hissing
			Zoo.add(tiger1);
			Zoo.add(tiger2);
			Zoo.add(snake1);
			Zoo.add(snake2);
			
			// 查看动物园里有多少动物,和列出所有动物
			
			zoo.print();
			
			zoo.list();

		
	}
}
package zoo;

public class Manager {
	public static String name;
	public Manager(String next) {
		// TODO Auto-generated constructor stub
		this.name = next;
	}
	
	public void setManage(Zoo zoo) {
		// TODO Auto-generated method stub
		
	}

	public Object getManage() {
		// TODO Auto-generated method stub
		return null;
	}
	
	
	
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}
}

package zoo;

public class Snake extends Animal {
	
	public Snake(String name) {
		// TODO Auto-generated constructor stub
		super(name);
		this.wow = "hissing";
	}

}

package zoo;

public class Tiger extends Animal {
	
	public Tiger(String name) {
		// TODO Auto-generated constructor stub
		super(name);
		this.wow = "roaring";
	}

}

package zoo;

import java.util.ArrayList;

public class Zoo {
	public static ArrayList<Animal> listAnimals = new ArrayList<Animal>();
	private String name;
	
	public Zoo(String next) {
		// TODO Auto-generated constructor stub
		this.name = next;
	}
	
	public static void add(Animal a) {
		// TODO Auto-generated method stub
		listAnimals.add(a);
	}
	
	public static void list() {
		for( Animal a : listAnimals) {
			a.print();
		}
	}
	
	public void print() {
		System.out.println("欢迎来到"+this.name+"动物园");
		System.out.println("我是管理员"+Manager.name);
	}
}

5 简易版通讯录

题目

写一个通讯录:
简单版功能要求:
联系人有姓名,性别,电话,邮箱,特点(特点可以有多个) 这些字段。
实现从文件读取联系人的信息,可以查询联系人,可以输入联系人的信息,并且保存到文件。

代码

IO流呀,这个我还真不是很会,需要满足增删查改四个功能,按照网上的代码仿写的,但是有些功能的确查不到,只能自己写…耗时还真有点久,上学前的最后一个晚上搞出来的,像赶DDL一样O(∩_∩)O哈哈~

package NewAddress;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
 
public class Change {
	static void change(String indexstr,String a,String b,
			String c,String d,String e) throws Exception {
		File file = new File("C:\\Users\\ASUS\\Desktop\\adress.txt");
		
		//根据该字符串,查找其在txt所在的一行,然后替换成新的一行,其它行数据不变
		//新的一行
		
		BufferedReader br = new BufferedReader(new FileReader(file));//读文件
		StringBuffer bf = new StringBuffer();
		String rl = null;//临时的每行数据
		
		while ((rl = br.readLine()) != null) {
//			System.out.println(rl.indexOf(indexstr));//打印该字符串是否在此行,是则输出0,否则输出-1
			if (rl.indexOf(indexstr) == 0) { //或者!r1.startsWith(indexstr)
				bf.append(a+" "+b+" "+c+" "+d+" "+e+"\r\n");
			}else {
				bf.append(rl+"\r\n");
			}
		}
		br.close();
		
		BufferedWriter out = new BufferedWriter(new FileWriter(file));//写入文件
		out.write(bf.toString());//把bf写入文件
		out.flush();//一定要flush才能写入完成
		out.close();//关闭
	}
}
package NewAddress;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class Delete{
	static void delete(String special) throws Exception{
		File file = new File("C:\\Users\\ASUS\\Desktop\\adress.txt");
		String rl = null;
		StringBuffer bf = new StringBuffer();
		BufferedReader br = new BufferedReader(new FileReader(file));
		while(( rl = br.readLine()) != null){
			rl = rl.trim();
			if(rl.indexOf(special) == -1){ //或者!r1.startsWith(special)
			bf.append(rl).append("\r\n");
//				bf.append(rl).append("\n");
			}
		}
		br.close();
		BufferedWriter out = new BufferedWriter(new FileWriter(file));
		out.write(bf.toString());
		out.flush();
		out.close();
	}
}

package NewAddress;

import java.io.File;
import java.util.Date;
import java.util.Scanner;


public class Fun {//姓名,性别,电话,邮箱,微信号//功能:新建,查询,删除,列表或者打开文件
	
	static void show() {
		System.out.println("============================================");
		System.out.println("===============欢迎使用BNUZ通讯录===============");
		System.out.println("==============按下数字后回车选择功能==============");
		System.out.println("==================1新增联系人==================");
		System.out.println("==================2查询联系人==================");
		System.out.println("==================3删除联系人==================");
		System.out.println("================4编辑联系人信息=================");
		System.out.println("================5查看所有联系人=================");
		System.out.println("============================================");
	}
	
	public static void main(String[] args) {
		
		while(true)
		{
			show();
			Scanner in = new Scanner(System.in);
			int a = in.nextInt();
				switch(a){
			    case 1 ://加入联系人
			    	System.out.println("请按格式输入");
			    	System.out.println("姓名 性别 电话 邮箱 微信号");
			    	Scanner a1 = new Scanner(System.in);
			    	People.name = a1.next();
			    	People.sex = a1.next();
			    	People.phone = a1.next();
			    	People.e_mail = a1.next();
			    	People.WeChat = a1.next();
			    	InputFile.input( People.name, People.sex, People.phone,
			    			People.e_mail, People.WeChat);
			        break;
			    case 2://查询联系人
			    	System.out.println("请输入姓名");
			    	Scanner b = new Scanner(System.in);
			    	String www = b.next();
			    	NewSeek.fun(www);

			    	break;
			    case 3://删除联系人
			    	System.out.println("请输入你要删除的联系人的姓名");
			    	Scanner k = new Scanner(System.in);
			    	String wl = k.next();
			    	try {
						Delete.delete(wl);
					} catch (Exception e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
			    	break;
			    case 4://编辑联系人
			    	System.out.println("请输入你要编辑的联系人的姓名");
			    	Scanner r = new Scanner(System.in);
			    	String indexstr = r.next();
			    	
			    	System.out.println("请输入你要改动的信息(按照姓名 性别 电话 邮箱 微信号的顺序来改)");
			    	Scanner q = new Scanner(System.in);
			    	String aa = q.next(),bb = q.next();
			    	String cc = q.next(),dd = q.next(),ee = q.next();
			    	
			    	try {
						Change.change(indexstr,aa,bb,cc,dd,ee);
					} catch (Exception e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
			    	break;
			    case 5://列表或者打开txt
			    	List.fun();
			    	break;
			    default : 
			    	System.out.println("--输入格式错误--");
			}
				System.out.println("--操作成功--");
		}
	}
}

package NewAddress;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class InputFile {//throw void IOException
	
    static void input (String name,String sex,
    		String phone,String e_mail,String WeChat) {
        File file = new File("C:\\Users\\ASUS\\Desktop\\adress.txt");
        FileWriter fw;
		try {
			fw = new FileWriter(file,true);
//			fw.write("123");
	        fw.write("\r\n");
	        fw.write(name+" "+sex+" "+phone+" "+ e_mail+" "+WeChat);
	        fw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} //设置成true就是追加
    }
}
package NewAddress;

import java.io.BufferedInputStream; 
import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStreamReader; 
import java.io.Reader; 
  
public class List { 
  /** 
   * 功能:Java读取txt文件的内容 
   * 步骤:1:先获得文件句柄 
   * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取 
   * 3:读取到输入流后,需要读取生成字节流 
   * 4:一行一行的输出。readline()。 
   * 备注:需要考虑的是异常情况 
   * @param filePath 
   */
  public static void readTxtFile(String filePath){ 
    try { 
        String encoding="GBK"; 
        File file=new File(filePath); 
        if(file.isFile() && file.exists()){ //判断文件是否存在 
          InputStreamReader read = new InputStreamReader( 
          new FileInputStream(file),encoding);//考虑到编码格式 
          BufferedReader bufferedReader = new BufferedReader(read); 
          String lineTxt = null; 
          while((lineTxt = bufferedReader.readLine()) != null){ 
            System.out.println(lineTxt); 
          } 
          read.close(); 
    }else{ 
      System.out.println("找不到指定的文件"); 
    } 
    } catch (Exception e) { 
      System.out.println("读取文件内容出错"); 
      e.printStackTrace(); 
    } 
    
  } 
    
  static void fun(){ 
    String filePath = "C:\\Users\\ASUS\\Desktop\\adress.txt"; 
//   "res/"; 
    readTxtFile(filePath); 
  } 
 
} 

package NewAddress;

import java.io.BufferedInputStream; 
import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStreamReader; 
import java.io.Reader; 
  
public class NewSeek { 

  public static void readTxtFile(String filePath,String a){ 
    try { 
        String encoding="GBK"; 
        File file=new File(filePath); 
        if(file.isFile() && file.exists()){ //判断文件是否存在 
          InputStreamReader read = new InputStreamReader( 
          new FileInputStream(file),encoding);//考虑到编码格式 
          BufferedReader bufferedReader = new BufferedReader(read); 
          String lineTxt = null; 
          while((lineTxt = bufferedReader.readLine()) != null){ 
//            System.out.println(lineTxt);
        	  if(ThroughIndexOf(lineTxt,a)) {
        		  System.out.println(lineTxt);
        	  }
          } 
          read.close(); 
    }else{ 
      System.out.println("找不到指定的文件"); 
    } 
    } catch (Exception e) { 
      System.out.println("读取文件内容出错"); 
      e.printStackTrace(); 
    } 
    
  } 
    
  static void fun(String a){ 
    String filePath = "C:\\Users\\ASUS\\Desktop\\adress.txt"; 
//   "res/"; 
    readTxtFile(filePath,a); 
  } 
  	public static boolean ThroughIndexOf(String parent,String child){

	  int count=0;

	  int StartIndex=0;

	  while(parent.indexOf(child,StartIndex)!=-1){

	  StartIndex = parent.indexOf(child,StartIndex);

	  StartIndex+=child.length();

	  count++;

	  }
//	  System.out.print("The number of matches is:"+count+"\n");
	  if(count>0) {
		  return true;
	  }
	  else {
		  return false;
	  }
	  }
} 

package NewAddress;

public class People {
	static String name;
	static String sex;
	static String phone;
	static String e_mail;
	static String WeChat;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值