java经典算法(一)

问题1:
斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……计算第n位的数字是多少;
分析:在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=1,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*),所以很明显的,我们可以用递归进行运算,简单方便,考虑一下,如果不用递归,用循环呢,当然也是可以的,可以使用for循环和while循环,不过我推荐是使用while循环,因为它可以只定义两个变量就可以,简单高效。
代码如下:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class Feibonaqie {
    public void forXunHuan(int n){
        int f1 = 1;
        int f2 = 1;
        int temp = 0;
        for(int i = 3; i <= n; i++){
            temp = f2;
            f2 = f1 + f2;
            f1 = temp;
            System.out.println(f2);
        }
        System.out.println(f2);
    }

    public void whileXunHuan(int n){
        int f1 = 1;
        int f2 = 1;
        while(n >= 3){
            f2 += f1;
            f1 = f2 - f1;
            n--;
            System.out.println(f2);
        }
    }

    public int DiGui(int n){
        if(n == 1 || n == 2)
            return 1;
        return DiGui(n-1) + DiGui(n-2);
    }
    public static void main(String[] args) {
        Feibonaqie feibonaqie = new Feibonaqie();
        System.out.println(feibonaqie.DiGui(15));
    }
}

问题2:
输入一行字符串,判断字符串中字母、数字、空格、其他字符的个数
分析:把字符串分解为字符数组,逐个判断
代码:

package test;

import java.util.Scanner;

public class AnalyticCharacter {
    public static void main(String[] args) {
        int letterNumbers = 0;
        int numberNumbers = 0;
        int spaceNumbers = 0;
        int othersNumber = 0;
        char[] ch = null;
        System.out.println("请输入一段字符串:");
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        ch = input.toCharArray();
        for(int i = 0; i < ch.length; i++) {
            if(ch[i] >= '0' && ch[i] <= '9')
                numberNumbers++;
            if(ch[i] >= 'a' && ch[i] <= 'z' || ch[i] >= 'A' && ch[i] <= 'Z')
                letterNumbers++;
            if(ch[i] == ' ')
                spaceNumbers++;
        }
        othersNumber = ch.length - numberNumbers - letterNumbers - spaceNumbers;
        System.out.println("数字的个数:"+numberNumbers);
        System.out.println("字母的个数:"+letterNumbers);
        System.out.println("空格的个数:"+spaceNumbers);
        System.out.println("其他的个数:"+othersNumber);
    }
}

问题3:
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
没什么好分析的,直接代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class BallRebound {
    public static void main(String[] args) {
        double sum = 0;
        double hight = 100;
        for (int i = 1; i <= 10; i++) {
            hight = hight / 2 ;
            sum += hight * 3;
            System.out.println("第"+i+"次反弹高度是:"+hight+"  共经过"+sum+"米");
        }
    }
}

问题4:
输入两个正整数num1,num2,计算这两个正整数的最大公约数和最小公倍数。
分析:可以利用辗转相除法计算,前提是正整数,所以不存在0,用较大数对较小数取余运算,如果余数不为0,则将较小数作为下一轮的较大数,将余数作为下一轮的较小数,继续计算,下面我使用递归实现的
代码:

package test;

import java.util.Scanner;

/**
 * 
 * @author 二哈大叔
 *
 */
public class DivisorAndMutiple {
    public int getDivisor(int x,int y){
        int divisor = 1;
        int num1 = x > y?x:y;   //把较大的数赋值给num1,较小的数赋值给num2
        int num2 = x <= y?x:y;
        if(num1 % num2 == 0){ //如果num1能被num2整除,则num2为最大公约数
            divisor = num2;
        }
        if(num1 % num2 != 0){   //利用辗转相除法求解,使用递归计算
            divisor = num2;
            num2 = num1 % num2;
            num1 = divisor;
            return getDivisor(num1,num2);
        }
        return divisor;
    }

    public static void main(String[] args) {
        DivisorAndMutiple andMutiple = new DivisorAndMutiple();
        System.out.println("请输入第一个正整数:");
        Scanner scanner = new Scanner(System.in);
        int num1 = scanner.nextInt();
        System.out.println("请输入第二个正整数:");
        Scanner scanner2 = new Scanner(System.in);
        int num2 = scanner2.nextInt();
        int divisor = andMutiple.getDivisor(num1,num2);
        System.out.println("最大公约数"+divisor);
        System.out.println("最小公倍数"+num1*num2/divisor);

    }
}

问题5:
输入一个正整数number,将其因式分解为质因数,例如:90=2*3*3*5
分析:
(1)首先要分解为质因数,先找到一个最小的质数k,即为2;
(2)如果number是1,则提示没有质因数;如果number=k,则输出k;
(3)如果number>k 且number能被k整除,打印k,并把number除以k的商作为下一轮的number,调到步骤(1)
(4)如果number > k 且number不能被k整除,则k++,跳到步骤(1)
代码:

package test;

import java.util.Scanner;

/**
 * 
 * @author 二哈大叔
 *
 */
public class Factorization {
    private int k = 2;
    public void fenjie(int number){

        if(number == 1)
            System.out.println("不能被分解为质因数");
        if(number == k)
            System.out.print(k);
        if(number > k && number % k == 0){
            number = number / k;
            System.out.print(k+"*");
            fenjie(number);
        }
        if(number > k && number % k != 0){
            k++;
            fenjie(number);
        }
    }

    public static void main(String[] args) {
        Factorization factorization = new Factorization();
        System.out.println("请输入一个正整数:");
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        System.out.print(num+"=");
        factorization.fenjie(num);

    }
}

问题6:
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和
分析:观察分子和分母的变化规律,分子是前一个分数的分子分母的和,分母是前一个分数的分子
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class FractionCalculation {
    public void calculateFraction(int n){ 
        int molecue = 2;
        int denominator = 1;
        double sum = 2;
        int temp = 0;
        for(int i = 1; i < n; i++){
            temp = molecue;
            molecue = molecue + denominator;
            denominator = temp;
            sum += (double)molecue/denominator;
            System.out.println(molecue+"/"+denominator);
        }
        System.out.println(sum);
    }

    public static void main(String[] args) {
        FractionCalculation calculation = new FractionCalculation();
        calculation.calculateFraction(6);
    }
}

问题7:
求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制
分析:第一种办法:定义一个变量b开始等于a的值,然后下一个数是b*10+a,结果为aa
第二种办法:定义变量b=0,然后下一个数计算为b=a+b,a = a* 10;则下一个数同样为aa
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class IterativeAdd {
    public void add(int a,int numbers){
        int sum = 0;
        int b = a;
        for (int i = 0; i < numbers; i++){
            sum += b;
            b = b * 10 + a;
            System.out.println("b="+b);
        }
        System.out.println("sum="+sum);
    }

    public void add2(int a,int numbers){
        int sum = 0;
        int b = 0;
        int i = 0;
        while(i < numbers){
            b = a + b;
            sum += b;
            a = a * 10;
            i++;
        }
        System.out.println(sum);
    }

    public static void main(String[] args) {
        IterativeAdd add = new IterativeAdd();
        add.add2(1, 5);
    }
}

问题8:
判断1-200之间有多少个素数,并输出所有素数。
分析:方法一:用一个数除以2到sqrt(这个数),如果可以被整除,则这个数不是素数,反之,则为素数
方法二:可以用米勒拉宾素数测试的方法来求解,不过这个我明白过程但是没能用代码实现,参考请见http://www.cnblogs.com/skyivben/archive/2010/07/10/1775001.html
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class JudgePrime {
    public void Xunhuan(int n){
        int result = 0;
        for(int i = 2; i*i <= n; i ++){
            if(n % i == 0){
                result ++;
                break;
            }   
        }
        if(result > 0)
            System.out.println(n+"不是素数");
        else
            System.out.println(n);
    }

    public static void main(String[] args) {
        JudgePrime judgePrime = new JudgePrime();
        for (int i = 1; i < 200; i++) {
            judgePrime.Xunhuan(i);
        }

    }
}

问题9:
利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示这个也没什么好分析的,直接代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
import java.util.Scanner;

public class JudgeScore {
    public int grade(int score){
        return score >= 90? 1 :
                score >= 60? 2 : 3;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int score = scanner.nextInt();
        JudgeScore judgeScore = new JudgeScore();
        int grade = judgeScore.grade(score);
        if(grade == 1)
            System.out.println("A");
        if(grade == 2)
            System.out.println("B");
        if(grade == 3)
            System.out.println("C");
    }
}

问题10:
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少
分析:可以逆向思考一下,问题就迎刃而解
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class MonkeyEatPeaches {
    public void getPeaches(){
        int sum = 1;
        for (int i = 1; i < 10; i++) {
            sum = (sum+1) * 2;
        }
        System.out.println("第一天摘的桃子数量是:"+sum);
    }
    public static void main(String[] args) {
        MonkeyEatPeaches eatPeaches = new MonkeyEatPeaches();
        eatPeaches.getPeaches();
    }
}

问题11:
打印一个99乘法表
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class MultiplicationTable {
    public static void main(String[] args) {
        for (int i = 1; i < 10; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(i+"*"+j+"="+i*j+" ");
            }
            System.out.println();
        }
    }
}

问题12:
打印出所有的”水仙花数(narcissus number)”,所谓”水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个”水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
分析:取出个位,十位,百位的数,进行立方相加运算与原来的数相比较,相等则为水仙花数,其实这个也可以用多线程来实现
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class NarcissisticNumber extends Thread {
    private int start;
    private int end;

    public NarcissisticNumber(int start,int end){
        this.start= start;
        this.end = end;
    }

    public void run(){      //用多线程来实现
        int a,b,c;
        for (int i = start; i < end; i+=2) {
            a = i / 100;
            b = (i % 100) / 10;
            c = i % 10;
            try {
                sleep(1);
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }
            if (a*a*a+b*b*b+c*c*c == i) {
                System.out.println(i);
            }
        }
    }

    public void function(int m){    //普通实现
        int bit,ten,hundreds = 0;
        hundreds = m / 100;
        ten = (m % 100) / 10;
        bit = m % 10;
        if(hundreds * hundreds * hundreds + ten * ten * ten + bit * bit * bit == m)
            System.out.println(m);
    }

    public static void main(String[] args) {
        NarcissisticNumber narcissisticNumber1 = new NarcissisticNumber(101,1000);
        NarcissisticNumber narcissisticNumber2 = new NarcissisticNumber(102,1000);

        narcissisticNumber1.start();
        narcissisticNumber2.start();
        try {
            narcissisticNumber1.join();
            narcissisticNumber2.join();
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

/*      for (int i = 100; i < 1000; i++) {
            narcissisticNumber.function(i);
        }*/
    }
}

问题13:
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
分析:
组成所有的排列然后去掉有重复的,采用三层for循环嵌套,但是这样的复杂度就多了,可是我还没想到比较好的办法
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class NumberArray {
    public void ArrayNumber(){
        int hundred[] = {1,2,3,4};
        int tens[] = {1,2,3,4};
        int bit[] = {1,2,3,4};
        int count = 0;
        for (int i = 0; i < hundred.length; i++) {
            for (int j = 0; j < tens.length; j++) {
                for (int j2 = 0; j2 < bit.length; j2++) {
                    if(hundred[i] != tens[j] && hundred[i] != bit[j2] && tens[j] != bit[j2]){
                        count ++;
                        System.out.print(hundred[i]);
                        System.out.print(tens[j]);
                        System.out.println(bit[j2]);
                    }
                }
            }
        }
        System.out.println("共有"+count+"个数");
    }
    public static void main(String[] args) {
        NumberArray array = new  NumberArray();
        array.ArrayNumber();
    }
}

问题14:
输入三个整数x,y,z,请把这三个数由小到大输出。
分析:
把最小值赋值给x,x和y比,x和z比,然后y和z比,小的给y
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class NumberSort {
    public void sortNum(int x, int y, int z){
        if(x > y){
            x = x ^ y;
            y = y ^ x;
            x = y ^ x;
        }
        if(x > z){
            x = x ^ z;
            z = z ^ x;
            x = z ^ x;
        }
        if(y > z){
            y = y ^ z;
            z = z ^ y;
            y = z ^ y;
        }
        System.out.println(x+" "+y+" "+z);
    }

    public static void main(String[] args) {
        NumberSort numberSort = new NumberSort();
        numberSort.sortNum(9,8,7);
    }
}

问题15:
一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如6=1+2+3.编程 找出1000以内的所有完数。
分析:
找出该数的所有因子,相加,与该数比较判断
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class PerfectNumbers {
    public void findPerfectNumber(){
        for (int i = 1; i <= 1000; i++) {
            int sum = 0;
            for (int j = 1; j <= i/2; j++) {
                if(i % j == 0){
                    sum += j;
                }
            }
            if(i == sum){
                System.out.println(i);
            }
        }
    }

    public static void main(String[] args) {
        PerfectNumbers numbers = new PerfectNumbers();
        numbers.findPerfectNumber();
    }
}

问题16:
打印空心菱形和实心菱形,输入奇数行打印
分析:
实心菱形:可以分为两部分,上面正三角是一部分,下面倒三角是一部分,下面的倒三角行数比上面三角行数少1,所以给出了总行数n,上面的行数为(n+1)/2,下面的行数为(n+1)/2-1,然后每一行都是由空格和组成,空格直接循环就好,的个数为2n-1,下面的倒三角同理
空心菱形:也可以分为上下两部分,只是把输*变成了输出空格,大同小异
代码:

package test;

import java.util.Scanner;

/**
 * 
 * @author 二哈大叔
 *
 */
public class PrintDiamond {
    public void printShiXin(int n){
        n = (n + 1)/2;
        for (int i = 1; i <= n; i++) {
            for(int x = i; x < n; x++){
                System.out.print(" ");
            }
            for(int y = 0; y < 2*i-1; y++){
                System.out.print("*");
            }
            System.out.println();
        }
        for(int i = n-1; i > 0; i--){
            for(int x = i; x < n; x++){
                System.out.print(" ");
            }
            for(int y=0; y < 2*i-1; y++){
                System.out.print("*");
            }
            System.out.println();
        }
    }

    public void printKongXin(int n){
        n = (n + 1)/2;
        for(int i=1; i <= n; i++){
            for(int x=i; x < n; x++){
                System.out.print(" ");
            }
            System.out.print("*");
            for(int y=1; y <= 2*i-3; y++){
                System.out.print(" ");
            }
            if(i != 1)
                System.out.print("*");
            System.out.println();
        }
        for(int i = n-1; i > 0; i--){
            for(int x=i; x < n; x++){
                System.out.print(" ");
            }
            System.out.print("*");
            for(int y=1; y <= 2*i-3; y++){
                System.out.print(" ");
            }
            if(i != 1)
                System.out.print("*");
            System.out.println();           
        }
    }
    public static void main(String[] args) {
        PrintDiamond diamond = new PrintDiamond();
        System.out.println("请输入菱形的总行数(只能输入奇数行):");
        Scanner scanner = new Scanner(System.in);
        int lineNumber = scanner.nextInt();
        diamond.printShiXin(lineNumber);
        System.out.println();
        diamond.printKongXin(lineNumber);
    }
}

问题17:
企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
import java.util.Scanner;

public class ProfitCalculation {
    public void money(double profit){
        double sum = 0;
        if(profit <= 10)
            sum = profit * 0.1;
        if(profit > 10 && profit <= 20)
            sum = (profit-10) * 0.075 + 10 * 0.1;
        if(profit > 20 && profit <= 40)
            sum = (profit - 20) * 0.05 + 20 * 0.075 + 10 * 0.1;
        if(profit > 40 && profit <= 60)
            sum = (profit - 40) * 0.03 + 40 * 0.05 + 20 * 0.075 + 10 * 0.1;
        if(profit > 60 && profit <= 100)
            sum = (profit - 60) * 0.015 + 60 * 0.03 + 40 * 0.05 + 20 * 0.075 + 10 * 0.1;
        if(profit > 100)
            sum = (profit - 100) * 0.01 + 100 * 0.015 + 60 * 0.03 + 40 * 0.05 + 20 * 0.075 + 10 * 0.1;
        System.out.println("总奖金是:"+sum+"万");
    }

    public static void main(String[] args) {
        System.out.println("请输入总利润");
        Scanner scanner = new Scanner(System.in);
        double profit = scanner.nextDouble();
        ProfitCalculation calculation = new ProfitCalculation();
        calculation.money(profit);
    }
}

问题18:
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
分析:
在10万以内进行循环判断,加上100再开方对1取余和加上268再开方对1取余,如果余数都为0,则输出这个数
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class SqrtNumber {
    public void calculatorNumber(){
        for (long i = 1; i < 1000000; i++) {
            if(Math.sqrt(i+100) % 1 == 0 && Math.sqrt(i+268) % 1 == 0)
                System.out.println("这个数是:"+i);
        }
    }

    public static void main(String[] args) {
        SqrtNumber number = new SqrtNumber();
        number.calculatorNumber();
    }
}

问题19:
两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
分析:
这道题出的太不好了,直接就可以写出答案,还要算什么了,应该可以给几个限制条件,让我们列出可能的结果比较好,直接代码吧,其实代码还可以更简单,但是就没法写了,还是让它循环两次吧。。。
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
public class TableTennisMatch {
    public void findOpponent(){
        char i,j,k;//i是a的对手,j是b的对手,k是c的对手
        for(i = 'x';i <= 'z';i++){
            for(j = 'x';j <= 'z'; j++){
                if(i != j){
                    for(k = 'x'; k <= 'z'; k++){
                        if(i != 'x' && k != 'x' && k != 'z' && i != k && j != k){
                            System.out.println("a的对手是:"+i+" b的对手是:"+j+" c的对手是"+k);
                        }
                    }
                }
            }
        }
    }

    public void findOpponentByOther(){
        char i,j,k;//i是a的对手,j是b的对手,k是c的对手
        for(i = 'y';i <= 'z'; i++){
            for(j = 'x'; j <= 'z'; j++){
                if(i != j){
                    k = 'y';
                    if(i != k && j != k){
                        System.out.println("a的对手是:"+i+" b的对手是:"+j+" c的对手是"+k);
                    }
                }
            }
        }
    }

    public static void main(String[] args) {
        TableTennisMatch match = new TableTennisMatch();
        match.findOpponentByOther();
    }
}

问题20:
输入某年某月某日,判断这一天是这一年的第几天?
分析:
闰年2月29天,平年2月28天,然后计算
代码:

package test;
/**
 * 
 * @author 二哈大叔
 *
 */
import java.util.Scanner;

public class YearMonthDay {
    public void getDay(int year,int month,int day){
        int days = 0;
        int sum = 0;

        if(year <= 0 || month <= 0 || month > 12 || day <= 0 || day > 31){
            System.out.println("请输入正确的日期!");
            System.exit(0);
        }
        if(month == 4 || month == 6 || month == 9 || month == 11){
            if(day <= 0 || day > 30){
                System.out.println("请输入正确的日期!");
                System.exit(0);
            }
        }
        if(year % 4 == 0 && month == 2){
            if(day <= 0 || day > 29){
                System.out.println("请输入正确的日期!");
                System.exit(0);
            }
        }
        if(year % 4 != 0 && month == 2){
            if(day <= 0 || day > 28){
                System.out.println("请输入正确的日期!");
                System.exit(0);
            }
        }
        for (int i = 1; i < month; i++) {
            switch (i) {
            case 1:
                days = 31;
                sum += days;
                break;
            case 3:
                days = 31;
                sum += days;
                break;
            case 5:
                days = 31;
                sum += days;
                break;
            case 7:
                days = 31;
                sum += days;
                break;
            case 8:
                days = 31;
                sum += days;
                break;
            case 10:
                days = 31;
                sum += days;
                break;
            case 12:
                days = 31;
                sum += days;
                break;
            case 4:
                days = 30;
                sum += days;
                break;
            case 6:
                days = 30;
                sum += days;
                break;
            case 9:
                days = 30;
                sum += days;
                break;
            case 11:
                days = 30;
                sum += days;
                break;
            case 2:
                if(year % 4 == 0)
                    days = 29;
                if(year % 4 != 0)
                    days = 28;
                sum += days;
                break;
            default:
                break;
            }
        }
        sum += day;
        System.out.println(year+"年"+month+"月"+day+"日是这一年的第"+sum+"天");
    }

    public static void main(String[] args) {
        YearMonthDay yearMonthDay = new YearMonthDay();
        System.out.println("请输入年份");
        Scanner scanner = new Scanner(System.in);
        int year = scanner.nextInt();
        System.out.println("请输入月份");
        Scanner scanner1 = new Scanner(System.in);
        int month = scanner1.nextInt();
        System.out.println("请输入日期");
        Scanner scanner2 = new Scanner(System.in);
        int day = scanner2.nextInt();
        yearMonthDay.getDay(year, month, day);
    }
}

好了,这一篇就到这里了,其余的再写一篇里面写,如果大家对以上的算法有更好的办法,更低的复杂度,或者我写的有什么错误,还请说出来,不胜感激,交流就是进步嘛,一码一世界。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值