Java基礎階段綜合練習

来源:http://www.cnblogs.com/hd976521/archive/2017/02/10/6387514.html
-Advertisement-
Play Games

這差不多就是javaee基礎階段的題目了,我一個星期寫了1.2W行代碼,基本鞏固了,如果有興趣的朋友,可以只複製題目,不用看我的代碼,這樣一邊下來,基礎階段的編碼基本不成問題了. 補充幾個反射的題目 有什麼問題,我們共同研究,接下來,我將進入javaEE階段. ...


package com.模擬練習題一;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * 1.鍵盤輸入10個數,放到數組中
    a.    去除該數組中大於10的數
    b.    將該數組中的數字寫入到本地文件number.txt中
    
 * @author Administrator
 *
 */
public class Demo01 {
    public static void main(String[] args) throws IOException {
        //鍵盤輸入10個數數組
        int[] arr = getArr();
        //去除大於10的
        int[] arr1 = remove(arr);
        //寫入
        BufferedWriter bw = new BufferedWriter(new FileWriter("number.txt"));
        for (int i : arr1) {
            bw.write(i+" ");
        }
        bw.close();
    }

    private static int[] remove(int[] arr) {
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < arr.length; i++) {
            if(arr[i]>10){
                list.add(arr[i]);
            }
        }
        int[] arr1 = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            arr1[i] = list.get(i);
        }
        return arr1;
    }

    private static int[] getArr() {
        System.out.println("請輸入10個整數:");
        Scanner sc = new Scanner(System.in);
        int[] arr = new int[10];
        for (int i = 0; i < arr.length; i++) {
            arr[i] =sc.nextInt();
        }
        return arr;
    }
}
package com.模擬練習題一;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 2.map中有如下數據(電話號=套餐價格)
    [13265477888=168,15241698745=11,13699989898=20,1898686666=120]
    在ip為127.0.0.1資料庫名為stdb,連接資料庫的用戶名和密碼為:admin和123456中有一個numinfo表相關欄位為(id,iphonenum,tomoney)(15分)
    (1)將map中的手機號碼取出來列印到控制臺上(3分)
    (2)判斷map中所有的手機號在numinfo表中是否存在存在則輸出"該主機已登錄"如果不存在將該號碼及對應的套餐價格存入到numinfo表中.(12分)
    (map中的數據不需要修改)
 * @author Administrator
 *
 */
public class Demo02 {
    public static void main(String[] args) throws Exception {
        Map<String, Integer> map = new LinkedHashMap<>();
        map.put("13265477888", 168);
        map.put("15241698745", 11);
        map.put("13699989898", 20);
        map.put("18986886666", 120);
        System.out.println(map);
        
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mybase", "root", "123456");
        PreparedStatement pstmt=null;
        ResultSet rs =null;
        for(String phone : map.keySet()){
            Integer values = map.get(phone);
            String sql = "select * from numinfo where iphonenum=?";
            pstmt = con.prepareStatement(sql);
            pstmt.setString(1, phone);
            rs = pstmt.executeQuery();
            if(rs.next()){
                System.out.println("以登錄");
            }else{
                String sql1 = "insert into numinfo(iphonenum,tomoney) values (?,?)";
                pstmt = con.prepareStatement(sql1);
                pstmt.setString(1, phone);
                pstmt.setInt(2, values);
                int row = pstmt.executeUpdate();
                if(row!=0){                    
                    System.out.println("註冊成功");
                }
            }
        }
        con.close();
        rs.close();
        pstmt.close();
    }
}
package com.模擬練習題二;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 1.產生10個1-100的隨機數,並放到一個數組中
    (1)把數組中大於等於10的數字放到一個list集合中,並列印到控制台。
    (2)把數組中小於10的數字放到一個map集合中,並列印到控制台。
    (3)把數組中的數字放到當前文件夾的number.txt文件中
 */
public class Demo01 {
    public static void main(String[] args) throws IOException {
        int[] arr = getRomdon();
        List<Integer> list = new ArrayList<>();
        Map<Integer, Integer> map = new HashMap<>();
        BufferedWriter bw = new BufferedWriter(new FileWriter("number.txt"));
        for (int i = 0; i < arr.length; i++) {
            if(arr[i] >= 10){
                list.add(arr[i]);
            }else{
                map.put(i, arr[i]);
            }
            bw.write(arr[i]+" ");
        }
        System.out.println(list);
        System.out.println(map);
        bw.close();
    }

    private static int[] getRomdon() {
        // TODO Auto-generated method stub
        int[] arr = new int[10];
        for (int i = 0; i < arr.length; i++) {
            int num = (int) (Math.random()*100+1);
            arr[i]=num;
        }
        return arr;
    }    
}
package com.模擬練習題二;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 2.資料庫題:
    用jdbc鏈接資料庫stu,該數據中有一個表為student,
    表中數據如下:
     id       name    sex     score
     1       李少榮    女      80
     2       邵凱      男      75
     3       周強      男      95
     4       王曉婷    女      55
     5       張秀花    女      68
     6       顧會      女      50
     7       趙天一    男      32
    (1)查找60分以上的學生信息
    (2)將男生且名字是兩個數的成績改成100。
 *
 */
public class Demo02 {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybase","root","123456");
//        query(con);
        update(con);
    }

    private static void update(Connection con) throws SQLException {
        // TODO Auto-generated method stub
        String sql = "update  student set score=100 where name like'__' and sex='男'";
        PreparedStatement pstmt = con.prepareStatement(sql);
        int row = pstmt.executeUpdate(sql);
        System.out.println(row);
    }

    private static void query(Connection con) throws SQLException {
        // TODO Auto-generated method stub
        String sql = "select * from student where score>60";
        PreparedStatement pstmt = con.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        int count = rs.getMetaData().getColumnCount();
        while(rs.next()){
            for (int i = 1; i <= count; i++) {
                System.out.print(rs.getString(i));
                if(i<count){
                    System.out.print(",");
                }
            }
            System.out.println();
        }
        rs.close();
        pstmt.close();
        con.close();
    }
}
package com.模擬練習題三;

import java.util.Scanner;

/**
 * 1.設計一個程式,鍵盤輸入月份,控制條輸出季節.3,4,5春季/6,7,8夏季/9,10,11秋季/12,1,2冬季
 * @author Administrator
 *
 */
public class Demo01 {
    public static void main(String[] args) {
        System.out.println("請輸入月份");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        if(num>=1 && num<=12){
            if(num>=3 && num<=5){
                System.out.println("春季");
            }
            if(num>=6 && num<=8){
                System.out.println("夏季");
            }
            if(num>=9 && num<=11){
                System.out.println("秋季");
            }
            if(num==12 || num<=2){
                System.out.println("冬季");
            }
        }else
            System.out.println("你輸入的月份不存在");
    }
}
package com.模擬練習題三;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 2.向list集合添加姓名{張三,李四,王五,二丫,錢六,孫七},將二丫替換為王小丫,寫入到"D:\\stuinfo.txt"
 * @author Administrator
 *
 */
public class Demo02 {
    public static void main(String[] args) throws IOException {
        List<String> list  = new ArrayList<>();
        Collections.addAll(list, "張三","李四","王五","二丫","錢六","孫七");
        BufferedWriter bw = new BufferedWriter(new FileWriter("stuinfo.txt"));
        for (int i = 0; i < list.size(); i++) {
            //判斷集合中的元素有沒有等於"二丫"的改成王二牙  
            if(list.get(i).equals("二丫")){
                list.set(i, "王二丫");                
                //改過後寫入文件中
                bw.write(list.get(i)+" ");
                //跳出本次迴圈,不然會被寫入兩次,if外還在迴圈寫入
                continue;
            }
            bw.write(list.get(i)+" ");
        }
        //釋放資源
        bw.close();
    }
    
}
package com.模擬練習題三;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 3.一個資料庫stu,用戶名為admin 密碼為123456 已存在一個表中有五個學生的信息,姓名,性別,年齡,分數.
    id       name      sex     score
     1       李少榮    女      80
     2       邵凱      男      75
     3       周強      男      95
     4       王曉婷    女      55
     5       張秀花    女      68
     6       顧會      女      50
     7       趙天一    男      32
    (1)查詢女性,成績80以上
    (2)將姓張的男同學的的成績改為100
    (3)查詢年齡大於20的女性,顯示姓名,性別,年齡
 * @author Administrator
 *
 */
public class Demo03 {
    public static void main(String[] args) throws Exception {
        //載入驅動類
        Class.forName("com.mysql.jdbc.Driver");
        //接連資料庫
        Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/mybase", "root", "123456");
//        query(con);
//        update(con);
        queryse(con);
    }

    private static void queryse(Connection con) throws SQLException {
        String sql = "select * from student where score>50 and sex='女'";
        PreparedStatement pstmt = con.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        while(rs.next()){
            System.out.println(rs.getString("name")+","+rs.getString("sex")+","+rs.getString("score"));
        }
    }

    private static void update(Connection con) throws SQLException {
        // TODO Auto-generated method stub
        String sql ="update student set score=100 where name like'趙%' and sex='男'";
        PreparedStatement pstmt  = con.prepareStatement(sql);
        int row = pstmt.executeUpdate();
        System.out.println(row);
    }

    private static void query(Connection con) throws SQLException {
        // TODO Auto-generated method stub
        String sql = "select * from student where score>80 and sex='女'";
        PreparedStatement pstmt = con.prepareStatement(sql);
        ResultSet rs = pstmt.executeQuery();
        int count = rs.getMetaData().getColumnCount();
        while(rs.next()){
            for (int i = 1; i <= count; i++) {
                System.out.print(rs.getString(i));
                if(i<count){
                    System.out.print(",");
                }
            }
            System.out.println();
        }
        rs.close();
        pstmt.close();
        con.close();
    }
}
package com.模擬練習題四;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/** 
 *2.從控制台獲取輸入的文件目錄然後將指定目錄下的.java文件複製到D:/java文件夾中
 * @author Administrator
 */
public class Demo02 {
    public static void main(String[] args) throws IOException {
        File file = getFile();
        File dest = new File("D:\\java");
        if(!dest.exists()){
            dest.mkdirs();
        }
        copy(file,dest);
    }

    private static void copy(File file, File dest) throws IOException {
        // TODO Auto-generated method stub
        File[] files = file.listFiles();
        if(files!=null){
            for (File file2 : files) {
                //判斷是否是文件   在判斷段結尾是否是.java
                if(file2.isFile() && file2.getName().toLowerCase().endsWith(".java")){
                    BufferedInputStream br = new BufferedInputStream(new FileInputStream(file2));
                    BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream(new File(dest,file2.getName())));
                    byte[] by = new byte[1024];
                    int len = 0;
                    while((len=br.read())!=-1){
                        bw.write(by, 0, len);
                    }
                    br.close();
                    bw.close();
                }else if(file2.isDirectory()){
                    copy(file2, dest);
                }
            }
        }
    }

    private static File getFile() {
        // TODO Auto-generated method stub
        System.out.println("請輸入一個文件夾路徑");
        Scanner sc = new Scanner(System.in);
        String str =sc.nextLine();
        File file = new File(str);
        while(true){        
            if(!file.exists()){
                System.out.println("你輸入的文件夾路徑不存在,請重新輸入");
            }else if(file.isFile()){
                System.out.println("你輸入的是文件路徑,請重新輸入");
            }else{            
                return file;
            }
        }
    }
}
package com.模擬練習題五;
/**
 * 1.寫一個賣票的程式,
     1.寫一個類,該類實現了Runnable介面.有一個私有類型的int作為參數tickets.
       票的總數為100,完成run方法,輸出結果的格式如下:
       當前視窗為:視窗a,剩餘票數為19,其中視窗a為線程的名字
     2.開啟四個賣票視窗(開始四個線程),同時執行賣票的程式
 * @author Administrator
 *
 */
public class Demo01 {
    public static void main(String[] args) {
        Tick t = new Tick();
        new Thread(t,"線程A").start();
        new Thread(t,"線程B").start();
        new Thread(t,"線程C").start();
        new Thread(t,"線程D").start();
    }
}
class Tick implements Runnable{
    static int tickers =100;
    @Override
    public void run() {
        while(true){
            synchronized (this) {
                String name = Thread.currentThread().getName();
                //如果票數小於0  4條線程依次結束
                if(tickers<=0){
                    return;
                }
                try {
                    Thread.sleep(30);
                    if(name.equals("線程A")){
                        System.out.println(name+"賣出了"+(100-tickers+1)+"票,還有"+--tickers);
                    }
                    if(name.equals("線程B")){
                        System.out.println(name+"賣出了"+(100-tickers+1)+"票,還有"+--tickers);
                    }
                    if(name.equals("線程C")){
                        System.out.println(name+"賣出了"+(100-tickers+1)+"票,還有"+--tickers);
                    }
                    if(name.equals("線程D")){
                        System.out.println(name+"賣出了"+(100-tickers+1)+"票,還有"+--tickers);
                    }
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
    
}
package com.模擬練習題五;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
 * 2.給定一個list集合:{"張柏芝","劉德華","張亮","張靚穎","楊穎","黃曉明"}
     1.編寫一個方法:將list集合中所有姓張的人員寫入到D:\\a.txt中
     2.編寫一個方法:將D:\\a.txt中所有姓張的人員信息讀取出來並列印到控制臺上
 * @author Administrator
 *
 */
public class Deme02 {
    public static void main(String[] args) throws IOException {
        List<String> list = new ArrayList<>();
        Collections.addAll(list, "張柏芝","劉德華","張亮","張靚穎","楊穎","黃曉明");
        writer(list);
        read(list);
    }

    private static void read(List<String> list) throws IOException {
        // TODO Auto-generated method stub
        BufferedReader br = new BufferedReader(new FileReader("a.txt"));
        String line = br.readLine();
        System.out.println(line);
        br.close();
    }

    private static void writer(List<String> list) throws IOException {
        BufferedWriter bw  =  new BufferedWriter(new FileWriter("a.txt"));
        // TODO Auto-generated method stub
        for (int i = 0; i < list.size(); i++) {
            if(list.get(i).substring(0, 1).equals("張")){
                bw.write(list.get(i)+" ");
            }
        }
        bw.close();
    }
}
package com.模擬練習題六;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/**
 * 1.將用戶在控制臺上輸出的5個數字按照大小順序存入到D:\\xx.txt中,並讀出顯示在控制臺上
 * @author Administrator
 *
 */
public class Demo01 {
    public static void main(String[] args) throws IOException {
        //固定數組大小
        int[] arr = new int[5];
        //鍵盤輸入
        Scanner sc = new Scanner(System.in);
        //迴圈輸入
        for (int i = 0; i < arr.length; i++) {
            arr[i] = sc.nextInt();
        }
        
        //冒泡排序
        for (int i = 0; i < arr.length-1; i++) {
            for (int j = 0; j < arr.length-1-i; j++) {
                if(arr[j]>arr[j+1]){
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        
        //從緩衝區寫入
        BufferedWriter bw = new BufferedWriter(new FileWriter("xx.txt"));
        for (int i : arr) {
            bw.write(i+" ");
        }
        bw.close();

    }
}
package com.模擬練習題六;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 2.現在有一個map集合如下:
      {1="張三豐",2="周芷若",3="汪峰",4="滅絕師太"}
      要求:
      1.將map集合中的所有信息顯示到控制臺上
      2.向該map集合中插入一個編碼為5姓名為李曉紅的信息
      3.移除該map中的編號為1的信息
      4.將map集合中編號為2的姓名信息修改為"周林"
 * @author Administrator
 *
 */
public class Demo02 {
    public static void main(String[] args) {
        Map<Integer, String> map = new LinkedHashMap<>();
        map.put(1, "張三豐");
        map.put(2, "周芷若");
        map.put(3, "汪峰");
        map.put(4, "滅絕師太");
        System.out.println(map);
        
        map.put(5, "李小紅");
        map.remove(1);
        map.put(2, "周林");
        System.out.println(map);
    }
}
package com.模擬練習題六;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Scanner;

/**
 * 3.在ip為127.0.0.1的主機上有一個MySql的資料庫,資料庫名為db1.
  連接資料庫的用戶名和密碼為root和123,該資料庫中有一個表格為user,
  表中的數據如下:
              id     username     password
              1       abc          123
              2       def          456
              3       ghi          789
    請使用JDBC技術完成一個登錄的案例(在控制台輸入用戶名和密碼)登陸成功在控制台顯示登錄成功
 * @author Administrator
 *
 */
public class Demo03 {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mybase", "root", "123456");
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入用戶名:");
        String name = sc.nextLine();
        System.out.println("請輸入密碼:");
        String pass = sc.nextLine();
        String sql = "select * from user where username=? and password=?";
        PreparedStatement pstmt = con.prepareStatement(sql);
        pstmt.setString(1, name);
        pstmt.setString(2, pass);
        ResultSet rs = pstmt.executeQuery();
        if(rs.next()){
            System.out.println("登錄成功");
        }else{
            System.out.println("用戶名密碼錯誤");
        }
    }
}
package com.模擬練習題七;
/**
 * 2.有100份禮品,兩人同時發送,當剩下的禮品小於10份的時候則不再送出,利用多線程模擬該過程並將線程的名稱列印出來.
 * @author Administrator
 *
 */
public class Demo02 {
    public static void main(String[] args) {
        pack p = new pack();
        new Thread(p,"線程A").start();
        new Thread(p,"線程B").start();
    }
}
class pack implements Runnable{
    static int number = 100;

    @Override
    public void run() {
        // TODO Auto-generated method stub
        while(true){
            synchronized (this) {
                //小於0 聊天線程依次return
                if(number<=10){
                    return;
                }
                try {
                    //獲取線程名字數
                    String name = Thread.currentThread().getName();
                    //判斷是不是這個線程
                    if(name.equals("線程A")){
                        System.out.println(name+"發出了第"+(100-number+1)+"個,還有"+--number);
                    }
                    //睡眠30毫秒
                    Thread.sleep(30);
                    if(name.equals("線程B")){
                        System.out.println(name+"發出了第"+(100-number+1)+"個,還有"+--number);
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
package com.模擬練習題七;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * 
 *3.取出一個字元串中字母出現的次數。如:字元串:"abcdekka27qoq" ,
 * 輸出格式為:a(2)b(1)k(2)...
 * @author Administrator
 *
 */
public class Demo03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //鍵盤接收有個字元串
        String str = sc.nextLine();
        //裝換為字元數組
        char[] ch = str.toCharArray();
        //包含加1  不包含為1
        Map<Character, Integer> map = new HashMap<>();
        for (char c : ch) {
            map.put(c, !map.containsKey(c)? 1:map.get(c)+1);
        }
        //列印格式
        for(Character ch1 : map.keySet()){
            System.out.println(ch1+"("+map.get(ch1)+")");
        }
    }
}
package com.模擬練習題八;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;

/**
 * 3.從鍵盤接受多個int型的整數,直到用戶輸入end結束
     要求:把所有的整數按倒序寫到D:\\number.txt中
 * @author Administrator
 *
 */
public class Demo03 {
    public static void main(String[] args) throws IOException {
        ArrayList<Integer> list = getScaaner();
        System.out.println(list);
        //冒泡排序
        for (int i = 0; i < list.size()-1; i++) {
            for (int j = 0; j < list.size()-1-i; j++) {
                int one = list.get(j);
                int two = list.get(j+1);
                if(one<two){
                    list.set(j, two);
                    list.set(j+1, one);
                }
            }
        }
        
        //遍歷直接從緩衝區寫入
        BufferedWriter bw = new BufferedWriter(new FileWriter("number.txt"));
        for (int i = 0; i < list.size(); i++) {
            bw.write(list.get(i)+" ");
        }
        bw.close();
    }

    private static ArrayList<Integer> getScaaner() {
        System.out.println("請輸入整數");
        Scanner sc = new Scanner(System.in);
        //建一個集合用來接收鍵盤輸入的字元串
        ArrayList<Integer> list = new ArrayList<>();
        //用正則判斷輸入的是否是整數+號表示多個的意思
        String regex = "[0-9]+";
        while(true){
            //如果輸入的數是end就結束
            String num = sc.next();
            if((num).equals("end")){
                System.out.println("結束");
                return list;
            }else if(num.matches(regex)){
                list.add(Integer.parseInt(num));
            }else{
                System.out.println("輸入的不是整數");
            }
        }
        /*System.out.println("請輸入整數:");
        Scanner sc  = new Scanner(System.in);
        ArrayList<Integer> list = new ArrayList<>();
        while(true){
            String num = sc.next();
            if(num.equals("end")){
                return list;
            }else{
                list.add(Integer.parseInt(num));
            }
        }*/
    }
}
package com.模擬練習題八;

import java.util.Scanner;

/*
 * 1.編寫一個校驗用戶名的程式,檢測鍵盤錄入的用戶名是否合法
     要求:用戶名必須是6-10位之間的字母並且不能以數字開頭
 */
public class Demo01 {
    public static void main(String[] args) {
        //鍵盤接收一條字元串
        String str = new Scanner(System.in).nextLine();
        //正則表達式   前面開頭是a-zA-Z  ,{5,9}個
        String regex = "[a-zA-Z][a-zA-Z0-9]{5,9}";
        //判斷是否符合正則表達式
        if(str.matches(regex)){
            System.out.println("輸入的是正確的");
        }else{
            System.out.println("格式錯誤");
        }
        //第二種方法
        que(str);
    }

    private static void que(String str) {
        //字元串裝換為字元數組
        char[] ch = str.toCharArray();
        //控制6-10個數
        if(ch.length>=6 && ch.length<=10){
            //判斷是否是數字開頭
            if(ch[0]>='0' && ch[0]<='9'){
                System.out.println("格式錯誤");
            }<

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原理:模板元程式由編譯器在編譯期解釋執行,利用模板特化機制實現編譯期條件選擇結構,利用遞歸模板實現編譯期迴圈結構。模板元編程(metaprogramming)意思是,編程系統將會執行我們所寫的代碼,來生成新的代碼,而這些新代碼才真正實現了我們所期望的功能。元編程最大的特點在於:某些用戶自定義的計算可 ...
  • STC12C5A60S2 一.根據晶元文檔連接物理電路,最小系統: 電路圖<>實物圖 二.根據usb下載器安裝驅動 1.先把usb下載器插到電腦,查看電腦設備管理,查看占用的com埠 如果設備未識別,需要安裝usb驅動 2.安裝keil編譯器 1>.新建一個工程,再新建一個源碼文件,再把文件添加 ...
  • 我們都知道,在開發中只要按照一定的規範去配置的話,我們的mybatis是不需要寫mapper介面的實現類的,那麼mybatis到底是如何實現了讓我們可以不用寫mapper的實體類的呢?這裡寫了一下自己的看法,歡迎各位大神指導。 ...
  • 一、校驗數字的表達式 數字:^[0-9]*$n位的數字:^\d{n}$至少n位的數字:^\d{n,}$m-n位的數字:^\d{m,n}$零和非零開頭的數字:^(0|[1-9][0-9]*)$非零開頭的最多帶兩位小數的數字:^([1-9][0-9]*)+(.[0-9]{1,2})?$帶1-2位小數的正 ...
  • 伴隨 Java 8 的發佈,Oracle 也一同發佈了 Nashorn,它是在 Java 虛擬機上運行 Javascript 語言的一個引擎。Nashorn 的設計是為了替換最初的運行在 JVM 上的項目——被稱之為 Rhino(Nashorn 是 rhino 的德語中的詞語)。 Nashorn 完 ...
  • 閨蜜說讓我用代碼寫五萬個對不起給她~~ ...
  • 一、結構體的創建 在C語言中,實現數據結構的一種常用方法便是使用結構體(structure)其示例代碼如下: struct表示創建結構體 stu為結構體名稱,裡面的內容是各種變數類型(可以嵌套struct),然後使用示例如下: 第一行表示創建結構為stu的結構體s,此後訪問結構體內的內容需要使用 名 ...
  • what:我想知道某個“關鍵詞(keyword)”(即,詞語,可以是概念|專業術語|.......)的定義。 why:我想知道事物發生的原因;我會不會犯“歸因錯誤”?是“單因素”的還是“多因素”的原因?是直接原因,還是“因果鏈”中的一個間接原因?是“因果關係”還是“相關關係”? when:何時。無論 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...