【Java 魔神之塔】判斷輸入的檔名是否正確

 

ERROR    

 

 

 

我所設計的比對程式其步驟如下:

1.取得輸入資料 :採用getText(),取得user輸入的字串資料

2.將字串轉成字元陣列

    當我們要將字串轉成陣列時,可使用char [] 陣列名稱 = toCharArray(),來建立字串

    例如當字串 string a="Hello Jolin"時,則可用char [] name= a.toCharArry()將字串建立字串陣列.

    而此陣列的長度可使用  name.Length()來獲得

3.將轉換後的字元陣列內容與特殊字串的陣列內容,進行比對

   在比對字元陣列時,可採用直接比對的方式,判斷是否相同;EX: name_a[1] == name_b[1]

   但是若是字串則要用equals進行比對; ex:"Jolin".equals("JOLIN");

4.建立變數來統計是否有特殊字元

5.輸出結果.

 

==== 程式碼======

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import java.io.CharArrayWriter;
import java.util.*;
import java.io.*;

import javax.print.DocFlavor.CHAR_ARRAY;
import javax.swing.*;

import org.omg.CORBA.PUBLIC_MEMBER;

//以下為設定視窗

public class Error extends JFrame implements ActionListener{

JButton btn_action;
JLabel lb_lab1;
JTextField txt_path;

public Error(){

//supper("Error name Check");
btn_action=new JButton("start check");
lb_lab1=new JLabel ("Input your file name:");
txt_path = new JTextField(20);


Container c=getContentPane();
c.setLayout(new FlowLayout());

c.add (lb_lab1);
c.add(txt_path);

c.add (btn_action);
btn_action.addActionListener(this);

}//end of public Error()

public static void main(String [] jolin){
Error panel=new Error();
panel.setSize(352,240);
panel.setLocation(350,400);
panel.setVisible(true);
panel.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

//以下為按下按鈕後的動作
public void actionPerformed(ActionEvent e) {
String l_getPath=txt_path.getText();

char [] path=l_getPath.toCharArray(); //將獲取的字串轉換成字串陣列
showString(path);                                 //Debug用,一般可省略
compareString(path);
//JOptionPane.showMessageDialog(null,path.toString() );
}

public void showString(char path[]){    //Debug用,一般可省略這一個方法
for (int i =0;i<path.length;i++) {
System.out.println("path chararray -"+i + ": "+ path[i]);
}
}//end of showString()

public void compareString(char path[]){
String l_errorString="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";  //將特殊字元建立成一個字串
char [] error = l_errorString.toCharArray();                                    //將特殊字元轉成字串陣列
int lCount=0;
for (int a=0;a<path.length;a++)
{
for (int b=0;b<error.length;b++){
//System.out.println("this is error array [" + b +"]: "+error[b]);
if(error[b]==path[a])                              //比較字元是否相等
{lCount++;}
else{}
}//end of for b
//System.out.println("this is path array [" + a +"]: "+path[a]);
}//end of for a

if (lCount>0)                                    //顯示訊息
JOptionPane.showMessageDialog(null, "檔案名稱不合法,請重新輸入您的檔案名稱!");
else
JOptionPane.showMessageDialog(null, "檔案名稱正確,感謝您!");
}

}

 ===========================================

*本篇文章,實屬個人學習Java的心得筆記,方法不見得全對也不見得很聰明,所以非常歡迎各路高手們給予指正,讓小妹的實力能更加提升的機會,感謝!

題目:用視窗寫出一個window,讓使用者輸入檔名,當按下按鈕後,判斷檔名是否包含特殊字元

arrow
arrow

    ksjolin facebook 發表在 痞客邦 留言(0) 人氣()