撰寫一個專案,
1. 以下手機號碼段(每隔一個號添加一次),添加到Map集合當中
2. 從控制臺輸入要發送資訊的短信號碼,如果要發送多個,請用英文逗號隔開,輸入短信內容
3. 撰寫一個短信發送類,號碼發送前,先判斷號碼是否為空,再判斷是否為紅名單用戶(手機號碼在集合中),如果為紅名 單,輸出紅名單資料,并計算紅名單校驗耗費的時間,如果條件都滿足,發送短信,短信發送成功的概率為98%, 最后 展示發送成功的短信號碼和內容
備注:紅名單和普通名單可以同時提交發送,但是紅名單的不能發送不會影響到普通名單號碼的正常發送
展示的結果:是紅名單輸出紅名單資料和耗費的時間
不是紅名單輸出普通用戶的號碼和短信的內容,
手機號碼段:
頭三位 中間四位 末尾四位
136 0371 0000-9999
0766
7335
7362
6385
0769
7494
3381
7496
7370
137 3383
3319
0088
8361
3315
8168
8151
0386
181 3788
3789
3782
3787
0349
3567
2234
0382
180 3951
0169
3991
3955
3928
3788
0387
3997
3923
150 0381
3719
0371
3816
0389
3681
0389
9326
3837
3802
public class Phone { // 下標 電話 static HashMap<Integer, String> hm = new HashMap<>(); public Phone() { //第一批 String[] middle1 = {"0371", "0766", "7335", "7362", "6385", "0769", "7494", "3381", "7496", "7370"}; //尾數 ArrayList<String> end = new ArrayList<>(); for (int i = 0; i <= 9999; i++) { int q = i / 1000; int b = i % 1000 / 100; int s = i % 1000 % 100 / 10; if (q == 0 && b == 0 && s == 0) { String temp = "000"; temp += i; end.add(temp); } else if (q == 0 && b == 0) { String temp = "00"; temp += i; end.add(temp); } else if (q == 0) { String temp = "0"; temp += i; end.add(temp); } else { end.add(i + ""); } } //下標 int index = 0; for (String s : end) { for (String i : middle1) { String temp = 136 + i + s; hm.put(index, temp); index++; } } //System.out.println("middle1=" + index); String[] middle2 = {"3383", "3319", "0088", "8361", "3315", "8168", "8151", "0386"}; for (String s : end) { for (String i : middle2) { hm.put(index, 137 + i + s); index++; } } //System.out.println("middle2=" + index); String[] middle3 = {" 3788" + "3789" + "3782" + " 3787" + "0349" + "3567" + "2234" + " 0382"}; for (String s : end) { for (String i : middle3) { String temp = 181 + i + s; hm.put(index, temp); index++; } } //System.out.println("middle3=" + index); String[] middle4 = {"3951", "0169", " 3991", " 3955", "3928", "3788", "0387", "3997", "3923"}; for (String s : end) { for (String i : middle4) { String temp = 180 + i + s; hm.put(index, temp); index++; } } //System.out.println("middle4=" + index); String[] middle5 = {"0381", "3719", "0371", "3816", "0389", "3681", "0389", "9326", "3837", "3802"}; for (String s : end) { for (String i : middle5) { String temp = 150 + i + s; hm.put(index, temp); index++; } } //System.out.println("middle5=" + index); //System.out.println(end.size()); } //是否有紅名單手機號如果有就洗掉并列印 public void isRedphone(ArrayList<String> p) { boolean is =false ; long star = System.currentTimeMillis(); Set<Integer> key = hm.keySet(); for (Integer i : key) { String s = hm.get(i); for (int k = 0; k < p.size(); k++) { if (s.equals(p.get(k))) { System.out.println("找到紅名單手機號=" + s); p.remove(k); is=true; } } } long end = System.currentTimeMillis(); if (is){ System.out.println("一共耗時"+(end-star)+"毫秒!"); } } //查看手機名單 public void show(ArrayList<String> p) { for (String s : p) { System.out.print(s + "\t"); } System.out.println(); } }
public class Massage { private ArrayList<String> p; private String massage; public Massage() { } public Massage(ArrayList<String> p, String massage) { this.p = p; this.massage = massage; } public ArrayList<String> getP() { return p; } public void setP(ArrayList<String> p) { this.p = p; } public String getMassage() { return massage; } public void setMassage(String massage) { this.massage = massage; } //發送資訊 public void send() { for (int i = 0; i < p.size(); i++) { double is = Math.random() * 1; //System.out.println(is); if (is < (1 - 0.98)) { System.out.println("電話:" + p.get(i) + "發送成功"); } else { System.out.println("電話:" + p.get(i) + "發送成功"); } } System.out.println("短信內容為:" + massage); } }
public class Text { public static void main(String[] args) { Massage ma = new Massage(); Phone p = new Phone(); ArrayList<String> ph = new ArrayList<>(); Scanner sc = new Scanner(System.in); System.out.println("請輸入要發送的手機號多個用逗號分割"); //13603719999,15003714562,18438860920 String phones = sc.nextLine(); //分割 String[] split = phones.split(","); for (String s : split) { //用集合操控容易 ph.add(s); } //查看是否有紅名單呼叫方法 p.isRedphone(ph); System.out.println("查看:"); p.show(ph);//查看一下 ma.setP(ph);//傳入手機號 System.out.println("請輸入短信內容:"); String massage = sc.nextLine(); ma.setMassage(massage); //發送 ma.send(); } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/230509.html
標籤:其他
