㈠ 在Java中使用鍵盤輸入數據的幾種方法
在Java中不像C語言中那麼方便直接使用scanf(),下面是我積累的一些方法:
1.控制台輸入數據
1.1 主方法的形式參數
1.2 利用位元組輸入流
1.3 利用字元輸入流
1.4 利用文本掃描類
2. 對話框輸入數據
下面將針對這幾種方法分別利用例子進行說明:
1. 控制台輸入數據
1.1 主方法的形式參數
在Java中利用main(String args[])中的args數組來對參數進行賦值,有下例:
package InputTest;
public class DataKeyboardInput1 {
/**主方法的形式參數來輸入數據
* DataKeyboardInput1.java
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(args[0]);
}
}
在命令行下輸入javac DataKeyboardInput1.java --》Java DataKeyboardInput1 HelloWorld 輸出就是 HelloWorld 了
1.2 利用位元組輸入流
位元組輸入流System.in 是類InputStream的常量對象,調用read()方法可以從鍵盤接收數據。實現的步驟是:先把數據讀入位元組數組中,然後利用位元組數組定義字元串,最後把字元串轉化為需要的數據類型。
package InputTest;
import java.io.*;
public class DataKeyboardInput2 {
/**利用位元組輸入流來輸入數據
* DataKeyboardInput2.java
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
byte buf[]=new byte[10]; //位元組數組,輸入為10個
String str;
int num = 0;
try{
//把數據讀入到位元組數組中
System.in.read(buf);
//利用位元組數組創建字元串
str=new String(buf,0);
//把字元串數據轉換為整型數據
num=Integer.parseInt(str.trim());
}catch(Exception e){
System.out.print(e);
}System.out.println(num);
}
}
1.3 利用字元輸入流
字元輸入流BufferedReader是從字元輸入流中讀取文本,緩沖各個字元,從而提供字元,數組和行的高效讀取。常用方法:
read(): 讀取單個字元; readLine():讀取一行字元,即為讀取一個字元串
package InputTest;
import java.io.*;
public class DataKeyboardInput3 {
/**利用字元輸入流來進行輸入處理
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str="";
int num = 0;
try{
str=br.readLine();
num=Integer.parseInt(str);
}catch(IOException e){
System.out.println(e.toString());
}System.out.println(num);
}
}
1.4 利用文本掃描類
文本掃描類Scanner是jdk5.0新增加的類,它是一個可以使用正則表達式來解析基本類型和字元串的簡單文本掃描器,它使用分隔符模式將其輸入分解為標記默認情況下該分隔符模式與空白匹配,然後使用不同的next方法將得到的標記轉換為不同類型值。獲取基本類型數據的方法是:
整型:nextInt() 單精度:nextFloat() 雙精度: nextDouble() 字元串: next()
package InputTest;
import java.util.Scanner;
public class DataKeyboardInput4 {
/**利用文本掃描類來進行輸入處理
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input=new Scanner(System.in);
int num=input.nextInt();
System.out.println(num);
}
}
2. 對話框輸入數據
使用JOptionPane創建輸入對話框,實現鍵盤輸入
showConfirmDialog(): 詢問一個確認問題,如yes/no/cancer
showInputDialog(): 提示要求某些輸入
showMessageDialog(): 告知用戶某事已經發生
其中,輸入對話框的常用參數形式有:
showInputDialog(Object message) : message 表提示信息
showInputDialog(Object message,Object initialSelectionValue): 如果沒有輸入數據,則默認初始值為initalSlectionValue
package InputTest;
import javax.swing.JOptionPane;
public class DataInputDialog {
/**對話框輸入數據
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str;
str=JOptionPane.showInputDialog("input data:");
int num=Integer.parseInt(str);
System.out.println(num);
}
}
㈡ (Java)想把數組中一條一條的數據全部放入對象中去..要怎麼做呢
1、動新建一個長度長1的數組,然後填充它。