CHAPTER-3 流程結構

流程控制-選擇結構與循環結構


流程圖

-順序結構

在这里插入图片描述

-選擇結構

在这里插入图片描述

-循環結構

在这里插入图片描述

if控制語句

-簡單的語句

if(表達式){
    \\語句1
    \\語句2
}

-執行步驟

對表達式的結果進行判斷

如果表達式的結果爲真,則執行該語句

如果表達式的結果爲假,則跳過該語句

在这里插入图片描述

public static void main(String[] args){
    int score = 70 ;
    if(score >= 60 ){
        System.out.println("成績及格。");
        System.out.println("通過考試。");
    }
}

-張浩Java成績大於90分,老師獎勵他iPhone6s,該怎麽做?

import java.util.Scanner;
public class zhanghao{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入張浩的成績");
		int zhanghaoScore = sc.nextInt();
		if(zhanghaoScore > 90){
			System.out.println("獎勵ihone6s");
		}
	}
}

使用複雜條件的if選擇結構

-結合運算符的優先級編寫條件:

最高的優先級:()

最低的優先級:=

優先級:!>算術運算符>關係運算符>&&>||

複雜條件使用括號提高可讀性

-張浩Java成績大於90分,并且音樂成績大於80分時,或者Java成績等於100分,音樂成績大於70分時,老師獎勵他

import java.util.Scanner;
public class zhangh{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入張浩Java的成績:");
		int javaScore = sc.nextInt();
		System.out.println("請輸入張浩Music的成績:");
		int musicScore = sc.nextInt();
		if ((javaScore > 90 && musicScore > 80)||
		    (javaScore == 100 && musicScore > 70)){
			System.out.println("獎勵一臺iPhone11:");
		}
	}
}

-if else

-if else語法:

if(表達式){
    \\語句1
}else{
    \\語句2
}

在这里插入图片描述

public static void main(String[] args){
    int score = 50;
    if(score >= 60){  //判斷score值是否大於等於60
        System.out.println("成績及格。");
    }else{
        System.out.println("成績不及格。");
    }
}

-如果張浩Java成績大於90分,老師就獎勵他一個iPhone 6s,否則就罰他蹲馬步

import java.util.*;
public class zh{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入張浩Java的成績:");
		int javaScore = sc.nextInt();
		if(javaScore > 90){
			System.out.println("獎勵一臺iPhone12");
		}else{
			System.out.println("懲罰蹲馬步");
		}
	}
}
import java.util.*;
public class zh{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入張浩Java的成績:");
		int javaScore = sc.nextInt();
		if(javaScore > 90){
			System.out.println("獎勵一臺iPhone12");
		}
        if(javaScore <= 90){
			System.out.println("懲罰蹲馬步");
		}
	}
}

多分支if語句

-當有多個條件判斷時,需要使用多分支if語句解決

-多重if語法

if(表達式1){
    //語句1
}else if(表達式2){
    //語句2
}else{
    //語句3
}

-執行步驟

對表達式1的結果進行判斷

如果表達式1的結果為true,則執行語句1;否則判斷表達式2的值

如果表達式2的結果為true,則執行語句2;否則執行語句3

-如果成績大於等於90分且小於等於100分,輸出“A級”,否則如果大於等於80分,輸出“B級”,否則如果大於等於70分,輸出“C級”,否則如果大於等於60分,輸出“D級別”,低於60分輸出“E級”

public static void main(String[] args){
    int score = 85 ;
    if(score >= 90 && score <= 100){  //判斷score值是否大於等於90且小於等於100
        System.out.println("A級");
    }else if(score >= 80){  //判斷score值是否大於等於80且小於90
        System.out.println("B級");
    }else if(score >= 70){  //判斷score值是否大於等於70且小於80
        System.out.println("C級");
    }else if(score >= 60){  //判斷score值是否大於等於60且小於70
        System.out.println("D級");
    }else{  //score值小於60
        System.out.println("E級");
    }
}

-多重if選擇結構

語法:

if(成績 >=80){
    //代碼塊1
}
else if(成績 >=60){
    //代碼塊2
}
else{
    //代碼塊3
}

-對學員的考試成績進行測評

成績>=80:良好

成績>=60:中等

成績<60:差

import java.util.*;
public class zh{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		System.out.println("請輸入張浩Java的成績:");
		int javaScore = sc.nextInt();
		if(javaScore >= 80){
			System.out.println("良好");
		}else if(javaScore >= 60){
			System.out.println("中等");
		}else if(javaScore < 60){
			System.out.println("差");
	}
}

-嵌套if控制語句

-語法

if(表達式1){
    if(表達式2){
        //語句1
    }else{
        //語句2
    } 
}else{
    if(表達式3){
        //語句3
    }else{
        //語句4
    }
}

-學校進行運動會,百米賽跑跑入10秒内的學生有資格進入決賽,根據性別進入男子組和女子組

提示:字符串的比較使用 equals( )

sex.equals("男");
//時間要小於10秒
if(time < 10){
    //進入決賽
    if(sex.equals("男")){
        //進入男子組
    }else{
        //進入女子組
    }  
}
import java.util.*;
public class zhh{
	public static void main(String[] args){
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("請輸入比賽進入的時間是:");
		int time = sc.nextInt();
		System.out.println("請輸入此人的性別:");
		String sex = sc.next();
		//時間要小於10秒
		if(time < 10){
			//進入決賽
    	    if(sex.equals("男")){
       			//進入男子組
				System.out.println("進入決賽男子組");
   		    }else{
        		//進入女子組
				System.out.println("進入決賽女子組");
    		}
		}else{
				//淘汰
				System.out.println("謝謝參與");
		}  
	}
}

流程控制-選擇結構與循環結構-請實現如果今天是周六或周日,則準備外出。如果氣溫在30℃以上,去游泳,;否則就去爬山。

如果今天不是周六或周日,就要工作。如果天氣好,去客戶單位談業務;否則在公司上網查資料。

分析:

外層if控製語句用來判斷是否是工作日

内層if控制語句用來判斷天氣情況

實現步驟:

使用if控製語句判斷今天是否是周六或周日

如果是周六或周日,那麽進一步判斷氣溫是否在30℃以上

如果不是周六或周日,那麽進一步判斷天氣是否好

public stativ void main(String[] args){
    int day=6;
    int temp=31;
    String weather="天氣好";
    
    if(day==6||day==7){
        if(temp>30){
            //去游泳
            System.out.println("游泳");
        }
        else{
            //去爬山
            System.out.println("爬山");
        }
    }
    else{
        if(“天氣好”.equals(weather)){
            //去客戶單位談業務
            System.out.println("去客戶單位談業務");
        }
        else{
            //在公司上網查資料
            System.out.println("在公司上網查資料");
        }
    }
}

switch語句

語法

switch (表達式){
   case常量1:
        語句;
        break;
   case常量2:
        語句;
        break;
        ......
   default:
        語句;
        break;      
}

-switch、case、break、default是Java的關鍵字

JDK1.7后,switch后的表達式可以是int、short、byte、char、枚舉類型、String類型表達式

case用於與表達式進行匹配

break用於終止後續語句的執行

default是可選的,當其他條件都不匹配時執行default

如果case后沒有break語句,程序將繼續向下執行,直到遇到break語句或switch語句結束

-如果成績大於等於90分且小於等於100分,輸出“A級”,否則如果大於等於80分,輸出“B級”,否則如果大於等於70分,輸出“C級”,否則如果大於等於60分,輸出“D級別”,低於60分輸出“E級”

public static void main(String[] args){
    int score = 75 ;
    switch(score/10){
        case 10:
        case 9:
           System.out.println("A級");  //score值是否大於等於90分且小於等於100分
           break;
        case 8:
           System.out.println("B級");  //成績大於等於80分
           break;
        case 7:
           System.out.println("C級");  //成績大於等於70分
           break;
        case 6:
           System.out.println("D級");  //成績大於等於60分
           break;
        default;
      }
}

-產生隨機數(0-9)的方法

int random=(int)(Math.random()*10);

循環結構


Java中的循環語句結構有while循環、do-while循環、for循環等.循環結構的特點是在給定條件成立時,反復執行某程序段,直到條件不成立為止.

循環語句的主要作用是反復執行一段代碼,直到滿足一定條件為止.可以把循環分成3個部分.

-初始部分:設置循環的初始狀態

-循環體:重複執行的代碼

-循環條件:判斷是否循環的條件,如使用"i<100"判斷循環次數是否已經達到100次


-while循環

語法

	變量初始化
while(循環條件){
	循環體
}

關鍵字while後的小括號中的內容是循環條件

循環條件是一個布爾表達式,它的值為布爾類型"真"或"假"

大括號中的語句統稱為循環操作,又稱循環體

while語句是先判斷循環條件再執行循環體,如果第一次判斷循環條件為假,循環將一次也不執行

語句執行步驟如下:

1.首先對循環條件的結果進行判斷,如果結果為真,則執行循環語句

2.執行完畢後繼續對循環條件進行判斷,如果為真,繼續執行

3.如果結果為假,則跳過循環語句,執行後面的語句

-請使用while循環實現1+2+3+…+100的求和計算

public static void main(String[] args){
    int sum = 0;
    int i = 1;
    while(i<100){
        sum += i;
        i++;
    }
    System.out.println("sum="+sum);
}

輸出結果:5050

-張浩Java考試成績未達到自己的目標。爲了表明自己勤奮學習的決心,他決定寫一百遍“好好學習,天天向上!”

public class Test{
    public static void main(String[] args){
        int i = 1;
        while(i<100){
            System.out.println("張浩抄寫第"+i+"邊");
            i++;
        }
    }
}
import java.util.*;
public class Test{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String con = "否";
        while(con.equals("否")){
            //操作
            System.out.println("上午學習理論,下午上機操作");
            System.out.println("張浩學習是否合格?");
            con = sc.next();
        }
    }
}

-do-while

語法

do{
    循環體
}while(循環條件);

步驟:

do-while循環以關鍵字do開頭

大括號括起來的是循環體

最後的while關鍵字和緊隨其後的小括號括起來的是循環條件

-請使用do-while循環實現1+2+3+…+100的求和計算

public static void main(String[] args){
    int sum = 0;
    int i = 1;
    do{
        sum += 1;
        i++;
    }while(i<=100);
    System.out,println("sum="+sum);
}

輸出結果:5050

-經過幾天學習,老師給張浩一道測試題,讓他先上機編寫程序完成,然後老師檢查是否合格。如果不合格,則繼續編寫

import java.util.*;
public calss Test{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String con = "否";
        do{
            System.out.println("張浩做上機測試");
            System.out.println("張浩學習是否合格");
            con = sc.next();
        }while(con.equals("否"));
    }
}

-for循環

語法:

for(表達式1;表達式2;表達式3){
    	循環體
}

更直觀地表達為

for(變量初始化;循環條件;修改循環條件變量的值){
    循環體
}

for循環以關鍵字for開頭

大括號括起來的是循環體

表達式1、表達式2、表達式3分別用來實現變量初始化、判斷循環條件和修改for循環變量的值

步驟:

-首先執行表達式1,一般是進行變量初始化操作

-然後執行表達式2,即對循環條件進行判斷

-如果結果為真,則執行循環體

-循環語句執行完畢後執行表達式3,改變循環變量的值,再次執行表達式2,如果結果為真,繼續循環

-如果結果為假,終止循環,執行後面的語句

-輸入一名學生的姓名和他的5門課成績,求出平均分並顯示

public static void main(String[] args){
    int score;	//每門課的成績
    int sum = 0;	//成績之和
    double avg = 0.0;	//平均分
    Scanner input = new Scanner(System.in);
    System.out.println("輸入學生姓名: ");	//接收學生姓名
    String name = input.next();	//循環5次錄入5門功課成績	
    for(int i = 0;i<5;i++){
        System.out.println("請輸入5門功課中第"+(i+1)+"門課的成績");
        score = input.nextInt();	//接收1門課的成績
        sum = sum + score;	//計算成績之和
    }
    avg = sum/5;	//計算平均分
    System.out.println(name+"的平均分是: "+avg);
}

-輸出100次“好好學習,天天向上!”

int i=0;
while(i<100){
    System.out.println("好好學習!");
    i++;
}
for(int i=0;i<100;i++)
    System.out.println("好好學習!");
}
import java.util.*;
public calss Test{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        for(int i=1;i<=100;i++){
            System.outln("執行了"+i+"次");
        }
    }
}

-循環輸入某同學S1結業考試的5門功課成績,并計算平均分

import java.util.*;
public class Test{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入學生姓名: ");
        String studentName = sc.next();	//接收學生姓名
     	int totalScore = 0;
        for(int i=0;i<5;i++){
            System.out.println("請輸入第"+(i+1)+"課程的成績: ");
            sc.next=Int();
         	//totalScore += sc.nextInt();
            totalScore = totalScore + sc.nextInt();   
        }   
        System.out.println(studentName + "的平均分是: "+(totalScore / 5.0);
        
    }
}

-用for循環實現以下加法表:

0 + 6 = 6

1 + 5 = 6

2 + 4 = 6

3 + 3 = 6

4 + 2 = 6

5 + 1 = 6

6 + 0 = 6

import java.util.*;
public class Test{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入一個值: ");
        int num1 = sc.nextInt();
        for(int maxNum = num1,int minNum = 0;minNum <= num1;minNum++,maxNum--){
            System.out.println(minNum+"+"+maxNum+"="+(num1));
        }
    }
}

-多重循環

多重循環指一個循環語句的循環體中再包含循環語句,又稱嵌套循環.循環語句內可以嵌套多層循環.同時,不同的循環語句可以相互嵌套.

while(循環條件1){
    循環語句1
    for(循環條件2){
        循環語句2
    }
}

-計算若干名學生每人5門課程的平均分

public static void main(String[] args){
    String end = null;
    do{
        int score;
        int sum = 0;
        double avg = 0.0;
        Scanner input = new Scanner(System.in);
        System.out.println("輸入學生姓名: ");
        String name = input.next();
        for(int i = 0;i<5;i++){
            System.out.println("請輸入5門課程中第"+(i+1)+"門課程的成績: ");
            score = input.nextInt();
            sum = sum = score;
        }
        avg = sum/5;
        System.out.println(name+"的平均分是"+avg);
        System.out.println("\n繼續輸入嗎(Y/N)");
        	end = input.next();
    }while(end.equals("Y")||end.equals("Y"));
    System.out,println("成績錄入結束");
}

-使用多重循環輸出以下圖形

在这里插入图片描述

public class hw5{
    public static void main(String[] args){
        for(int i =0;i<5;i++){
            for(int j = 0;j<5;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println();
    }
}

在这里插入图片描述


在这里插入图片描述

import java.util.*;
public class test1{
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
//		System.out.println("您先想要几行数字:");
//		
		int num = 8;
		for(int i = 1;i<=num;i++) {
			for(int j = 0;j<num-i;j++) {
				System.out.print(" ");
			}
			for(int k = 1;k<=2*i-1;k++) {
				System.out.print(i);
			}
			System.out.println();
		}
	}
}

在这里插入图片描述

import java.util.*;
public class test0421{
	public static void main(String[] args){
		Scanner input = new Scanner(System.in);
		int num = input.nextInt();
		System.out.println("Please scan out number:");
		for(int i = 0;i<num;i++){
			for(int x = 0;x<i;x++){
				System.out.print(" ");
			}
			for(int j=0;j<2*(num-i)-1;j++){
				System.out.print("*");
			}
			System.out.println(" ");
		}
		
	}
}

-使用多重循環輸出九九乘法表

在这里插入图片描述

public class hw5{
    public static void main(String[] args){
        for(int i=1;i<=9;i++){
            for(int j=1;j<=i;j++){
                System.out.print(i+"*"+j+"="+(i*j)+"	");            
            }
        System.out.println();
        }
    }
}

-循環對比

-while循環

變量初始化
while(循環條件){
	循環體
}

-do-while循環

變量初始化
do{
	循環體
}while(循環條件);

-for循環

for(變量初始化;循環條件;修改循環變量;){
    循環體
}

執行順序不同:

-while循環:先判斷循環條件,再執行循環.如果條件不成立,退出循環

-do-while循環:先執行循環體,再判斷循環條件,循環體至少執行一次

-for循環:先執行變量初始化部分,再判斷循環條件,然後執行循環體,最後進行循環變量的計算.如果條件不成立,跳出循環

適用情況不同:

-在解決問題時,對於循環次數確定的情況,通常使用for循環;對於循環次數不確定的情況,通常選用while循環和do-while循環

-在實際開發中,經常會遇到需要改變循環流程的需求.此時,就需要使用跳轉語句



跳轉語句


-使用场合

break常用于switch结构和循环结构中

continue一般用于循环结构中

-作用

break语句终止某个循环,程序跳转到循环快外的下一条语句

continue跳出本次循环,进入下一次循环

双重冲循环亦如此

-break語句

-break語句在循環中的作用是終止當前循環,在switch語句中的作用是終止switch

-請實現輸出數字1~10,若遇到4的倍數程序自動退出

public static void main(String[] args){
    for(int i = 1;i < 10;i++){
        if(i % 4 ==0){
            break;
        }
    	System.out,println(i+"");
     }
     System.out.println("循環結束.");
}

-用戶輸入字符串並進行顯示,直到輸入"bye"為止,請使用break語句實現

public stativ void main(String[] args){
    //定義掃描器
    Scanner input = new Scanner(System.in);
    //定義字符串
    String str = "";
    while(true){
        System.out.println("請輸入字符串: ");
        str = input.next();
        System.out.println("您輸入的字符串是: "+str);
        if("bye".equals(str))
            break;
    }
    System.out.println("輸入結束");
}

-描述4000米長跑比賽

public class Test{
    public static void main(String[] args){
        for(int i=1;i<=500;i++){
            System.out.println("跑了"+i+"米")
            if(i==100){
                //太累了
                break;
            }
        }
    }
}

-循環錄入某學生5門課的成績並計算平均分,如果某分數錄入為負,停止錄入并提示錄入錯誤

public class Test{
    public static void main(String[] args){
       Scanner sc = new Scanner(System.in);
        System.out.println("請輸入學生姓名");
        String studentName = sc.next();
        int totalScore = 0;
        int flag = 0;
        for(int i=1;i<=5;i++){
            System.out.println("請輸入第"+i+"門成績:");
            int score = sc.nextInt();
            if(score<0){
                flag = 1;
                System.out.println("分數錄入錯誤,請重新輸入:");
                break;                
            }
            totalScore += score;            
        }
        System.out.println("總成績是:"+totalScore);   
    }
}

-1~10之間的整數相加,得到纍加值為20的當前數

public class Test{
    public static void main(String[] args){
        int total = 0;
        for(int i=1;i<=10;i++){
            total += i;
            if(total > 20){
                System.out.println("當前綜合大於20的數是: "+i);
                break;
            }
        }     
    }
}

-continue語句

-continue語句的作用是強制循環提前返回,也就是讓循環跳過本次循環中的剩餘代碼,然後進行下一次循環

-只能用在循環裏

-請實現輸出1~10中非4的倍數的數字

public static void main(String[] args){
    for(int i = 1;i<10;i++){
        if(i%4==0){
            continue;
        }
        System.out.println(i+"");
    }
    System.out.println("循環結束.");
}

-輸出1~100之間能被6整除的數,請使用continue語句實現

public static void main(String[] args){
    for(int i = 1;i<=100;i++){
        //判斷i是否能被6整除
        if(i%6!=0)
            continue;
        System.out.println(i);
    }
}

輸出結果:
6
12
18
24
30
36
42
48
54
60
66
72
78
84
90
96

-循環錄入JAVA課的學生成績,統計分數大於等於80分的學生比例

import java.util.*;
public class Test{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入學生的總人數:");
        int totalStudent = sc.nextInt();
        int count = 0;
        for(int i =1;i<totalStudent;i++){
            System.out.println("請輸入第"+i+"個學生成績");
            int score = sc.nextInt();
            if(score>=80){
                //判斷是否大於等於80分
                count++;
                continue;
            }
            
            
        }
        System.out.println("80分以上的學生人數是: "+count);
        System.out.println("80分以上所占的比利是:"+((count+0.0)/totalStudent+100.0));
        
    }
}

-求1~10之間所有的偶數之和

public class Test{
    public static void main(String[] args){
        int total = 0;
        for(int i = 1;i <=10;i++){
            if(i%2==0){
                total +=1;
                continue;
            }
        }
        System.out.println("1~10偶數和是:"+total);
    }
}

-從鍵盤輸入一位整數,當輸入17時,輸出“星期一”“星期天”

輸入其他數字時,提示用戶重新輸入

import java.util.*;
public class hw7 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int week = 0;
		do {
			System.out.println("請輸入1~7之間的數字,輸入0請重新輸入:");
			week = input.nextInt();
			if(week>=8 || week<0) {
				System.out.println("請輸入1~7之間大的合理數字,輸入錯誤:");
				continue;
			}
			switch(week) {
				case 1:
					System.out.println("星期一");
					break;
				case 2:
					System.out.println("星期二");
					break;
				case 3:
					System.out.println("星期三");
					break;
				case 4:
					System.out.println("星期四");
					break;
				case 5:
					System.out.println("星期五");
					break;
				case 6:
					System.out.println("星期六");
					break;
				case 7:
					System.out.println("星期天");
					break;
					
			}
			
			
		}while(week != 0);
		System.out.println("結束執行");
		
		
		
	}

}



程序调试

-编写程序过程中有时出现错误,但不好发现和定位错误,有什么好的方法?

1.通过代码阅读或者加输出语句查找程序错误

public static void main(String[] args){
int total = 0;
for(int i = 1;i <=10;i++){
if(i%2==0){
total +=1;
continue;
}
}
System.out.println(“1~10偶數和是:”+total);
}
}




-從鍵盤輸入一位整數,當輸入1~7時,輸出“星期一”~“星期天”

輸入其他數字時,提示用戶重新輸入

```JAVA
import java.util.*;
public class hw7 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int week = 0;
		do {
			System.out.println("請輸入1~7之間的數字,輸入0請重新輸入:");
			week = input.nextInt();
			if(week>=8 || week<0) {
				System.out.println("請輸入1~7之間大的合理數字,輸入錯誤:");
				continue;
			}
			switch(week) {
				case 1:
					System.out.println("星期一");
					break;
				case 2:
					System.out.println("星期二");
					break;
				case 3:
					System.out.println("星期三");
					break;
				case 4:
					System.out.println("星期四");
					break;
				case 5:
					System.out.println("星期五");
					break;
				case 6:
					System.out.println("星期六");
					break;
				case 7:
					System.out.println("星期天");
					break;
					
			}
			
			
		}while(week != 0);
		System.out.println("結束執行");
		
		
		
	}

}



程序调试

-编写程序过程中有时出现错误,但不好发现和定位错误,有什么好的方法?

1.通过代码阅读或者加输出语句查找程序错误

2.当程序结构越来越复杂时,需要专门的技术来发现和定位错误,就是”程序调试“

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值