第一種:
為雙牌等地區用戶提供了全套網頁設計制作服務,及雙牌網站建設行業解決方案。主營業務為成都網站制作、成都網站建設、雙牌網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
public class ShuRu{
public static void main(String arg[]){
System.out.println(arg[1]);
}
}
第二種:
import java.util.Scanner;
public class ShuRu{
public static void main(String arg[]){
Scanner in=new Scanner(System.in);
String str=in.next();
System.out.println(str);
}
}
直接輸入 a,b
輸出為 a,bstem.in.read();?
擴展資料:
有輸入就有輸出,輸出語句為
Java中的輸出語句有以下四種:
1、System.out.println(1111);//換行打印
2、System.out.print(1111);//不換行打印
3、System.out.write(2222);//字節輸出
4、System.out.printf("%+8.3f\n", 3.14);//按格式輸出
注:
System.out.println(); 是最常用的輸出語句,它會把括號里的內容轉換成字符串輸出到輸出窗口(控制臺),并且換行,當輸出的是一個基本數據類型時,會自動轉換成字符串,如果輸出的是一個對象,會自動調用對象的toString();方法,將返回值輸出到控制臺
System.out.print(); 與第一個很相似,區別就是上一個輸出后會換行,而這個命令輸出后并不換行。
System.out.printf(); 這個方法延續了C語言的輸出方式,通過格式化文本和參數列表輸出。
下面的是鍵盤和鼠標的各種事件,看一下是不是你要的!
鼠標監聽器
鼠標監聽器mouseListener監聽鼠標事件MouseEvent。相應事件和處理方法如下表:
鼠標事件 處理方法
MOUSE_CLICKED MouseClicked (MouseEvent) 鼠標點擊(單或雙)
MOUSE_PRESSED MousePressed (MouseEvent) 鼠標按下
MOUSE_RELEASED MouseReleased(MouseEvent) 鼠標松開
MOUSE_ENTERED MouseEntered (MouseEvent) 鼠標進入(某組件區域)
MOUSE_EXITED MouseExited (MouseEvent) 鼠標離開(某組件區域)
鼠標事件MouseEvent常用方法
int getClickCount() 得到點擊次數1 OR 2;
int getX(), int getY() 得到鼠標的(象素)位置。
對于鼠標的移動和拖放,另外用鼠標運動監聽器mouseMotionListener。因為許多程序不需要監聽鼠標運動,把兩者分開可簡化程序。有兩個方法處理鼠標運動事件:
MOUSE_MOVED MouseMoved (MouseEvent) 鼠標在移動MOUSE_DRAGGED MouseDragged(MouseEvent) 鼠標被拖動
下面的例程演示簡單的鼠標監聽,并在屏幕上輸出鼠標操作的信息。
例2
下面是討論MouseMotionListener的使用時機,它提供的下面的兩個方法,可讓你隨時掌握鼠標的坐標,并處理拖曳鼠標的操作。
MouseMotionListener mouseDragged(MouseEvent e)
mouseMoved(MouseEvent e)
-----------------------------------------------------------------------
下面的范例讓你知道鼠標在JFrame上的坐標,并拖曳出直線來。
MouseDemo3.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/*為了達到畫線的功能,我們分別implements MouseListener與MouseMotionListener.
*/
public class MouseDemo3 extends JFrame implements MouseListener,MouseMotionListener{
int flag;//flag=1代表Mouse Moved,flag=2代表Mouse Dragged
int x=0;
int y=0;
int startx,starty,endx,endy;//起始坐標與終點坐標
public MouseDemo3(){
Container contentPane=getContentPane();
contentPane.addMouseListener(this);
contentPane.addMouseMotionListener(this);
setSize(300,300);
show();
addWindowListener(
new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
/*由mousePressed(),mouseReleased()取得示拖曳的開始與結束坐標*/
public void mousePressed(MouseEvent e){
startx=e.getX();
starty=e.getY();
}
public void mouseReleased(MouseEvent e){
endx=e.getX();
endy=e.getY();
}
public void mouseEntered(MouseEvent e){ }
public void mouseExited(MouseEvent e){ }
public void mouseClicked(MouseEvent e){ }
/*mouseMoved(),mouseDragged()取得鼠標移動的每一個坐標,并調用repaint()方法*/
public void mouseMoved(MouseEvent e){
flag=1;
x=e.getX();
y=e.getY();
repaint();
}
public void mouseDragged(MouseEvent e){
flag=2;
x=e.getX();
y=e.getY();
repaint();
}
public void update(Graphics g){
g.setColor(this.getBackground());
g.fillRect(0,0,getWidth(),getHeight());
paint(g);
}
public void paint(Graphics g){
g.setColor(Color.black);
if (flag==1){
g.drawString("鼠標坐標:("+x+","+y+";)",10,50);
g.drawLine(startx,starty,endx,endy);
}
if (flag==2){
g.drawString("拖曳鼠標價坐標:("+x+","+y+";)",10,50);
g.drawLine(startx,starty,x,y);
}
}
public static void main(String[] args){
new MouseDemo3();
}
}
例3
實現一個簡單的鼠標控制程序MouseController。程序功能很簡單:隨機移動鼠標并點擊左鍵。
代碼如下:
import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.util.Random;
/**
*
*/
/**
* @Create date 2007-11-6
*/
public class MouseController implements Runnable {
private Dimension dim;
private Random rand;
private Robot robot;
private volatile boolean stop = false;
public MouseController() {
dim = Toolkit.getDefaultToolkit().getScreenSize();
rand = new Random();
try {
robot = new Robot();
} catch (AWTException ex) {
ex.printStackTrace();
}
}
public void run() {
while(!stop) {
int x = rand.nextInt(dim.width);
int y = rand.nextInt(dim.height);
robot.mouseMove(x, y);
robot.mousePress(InputEvent.BUTTON1_MASK);
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
public synchronized void stop() {
stop = true;
}
public static void main(String[] args) {
MouseController mc = new MouseController();
Thre
$False$
ad mcThread = new Thread(mc);
System.out.println("Mouse Controller start");
mcThread.start();
try {
Thread.sleep(60000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
mc.stop();
System.out.println("Mouse Controller stoped");
}
}
例4 本例程演示鼠標監聽器,鼠標點擊和運動的監聽。
///
// MouseEvt.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyPanel extends JPanel implements MouseMotionListener{
public MyPanel() {
addMouseListener(new MouseAdapter() {
publicvoid mouseClicked(MouseEvent evt) {
if (evt.getClickCount() = 2)
System.out.println("\n雙擊鼠標");
int x = evt.getX(); int y = evt.getY();
System.out.println("點擊鼠標的位置\nX:" + x + "\ty: " + y);
}
});
addMouseMotionListener(this);
}
publicvoid mouseMoved(MouseEvent evt){
System.out.println("\n鼠標正在移動");
}
publicvoid mouseDragged(MouseEvent evt){
System.out.println("\n鼠標正在拖動");
}
}
class MyFrame extends JFrame{
public MyFrame(){
setTitle("鼠標事件示例程序");
setSize(300, 200);
addWindowListener(new WindowAdapter(){
publicvoid windowClosing(WindowEvent e){
System.exit(0);
}
} );
Container contentPane = getContentPane();
contentPane.add(new MyPanel());
}
}
publicclass MouseEvt{
publicstaticvoid main(String[] args){
JFrame frame = new MyFrame();
frame.setVisible(true);
}
}
///
簡要說明
在MyPanel的構建器中添加了鼠標適配器來監聽鼠標點擊數和位置。也添加了運動監聽器來處理移動和拖放操作。
鼠標雙擊事件
鼠標的單雙擊事件在很多時候對我們幫助很大,但是在JAVA中卻沒有給出鼠標雙擊事件.我們可以通過事件源e.getClickCount()==2來判斷鼠標點擊次數來實現鼠標雙擊事件,例如: public class MyMouseListener
extends java.awt.event.MouseAdapter ...{
public void mouseClicked(MouseEvent e) ...{
System.out.println("clicked");
int clickTimes = e.getClickCount();
if (clickTimes == 2) ...{
System.out.println("Doublc Clicked!");
}
}
}
但是這樣并沒有達到我們的要求,因為在每次觸發雙擊事件的同時會觸發單擊事件.所以我們試圖改進以上方案,不使用系統提供的e.getClickCount()方法.可以考慮當第一次單擊鼠標的時候讓鼠標單擊事件延時0.2秒執行,而在這段時間里等待第二次單擊,如果有第二次單擊,那么我們執行雙擊事件任務,取消單擊任務;如果在這段時間沒有等到再次單擊,那么執行單擊任務.
下面是用定時器延時單擊事件實現鼠標雙擊事件,單擊和雙擊事件互不影響!
public class MyMouseListener
extends java.awt.event.MouseAdapter ...{
private static boolean flag=false;//用來判斷是否已經執行雙擊事件
private static int clickNum=0;//用來判斷是否該執行雙擊事件
public void mouseClicked(MouseEvent e) ...{
final MouseEvent me=e;//事件源
this.flag=false;//每次點擊鼠標初始化雙擊事件執行標志為false
if (this.clickNum == 1) ...{//當clickNum==1時執行雙擊事件
this.mouseDoubleClicked(me);//執行雙擊事件
this.clickNum=0;//初始化雙擊事件執行標志為0
this.flag=true;//雙擊事件已執行,事件標志為true
return;
}
//定義定時器
java.util.Timer timer=new java.util.Timer();
//定時器開始執行,延時0.2秒后確定是否執行單擊事件
timer.schedule(new java.util.TimerTask() ...{
private int n=0;//記錄定時器執行次數
public void run() ...{
if(MyMouseListener.flag)...{//如果雙擊事件已經執行,那么直接取消單擊執行
n=0;
MyMouseListener.clickNum=0;
this.cancel();
return;
}
if (n == 1) ...{//定時器等待0.2秒后,雙擊事件仍未發生,執行單擊事件
mouseSingleClicked(me);//執行單擊事件
MyMouseListener.flag = true;
MyMouseListener.clickNum=0;
n=0;
this.cancel();
return;
}
clickNum++;
n++;
}
},new java.util.Date(),500);
}
/** *//**
* 鼠標單擊事件
* @param e 事件源參數
*/
public void mouseSingleClicked(MouseEvent e)...{
System.out.println("Single Clicked!");
}
/** *//**
* 鼠標雙擊事件
* @param e 事件源參數
*/
public void mouseDoubleClicked(MouseEvent e)...{
System.out.println("Doublc Clicked!");
}
}
//Test.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Test extends JFrame{
public Test(){
super("test");
init();
this.setSize(800,600);
this.setVisible(true);
}
private void init(){
JButton b=new JButton("button");
b.setBounds(50,50,100,30);
this.getContentPane().setLayout(null);
this.getContentPane().add(b);
b.addMouseListener(new MyMouseListener());
}
public static void main(String args[]){
new Test();
}
}
鍵盤監聽器
鍵盤監聽器KeyListener用來監聽鍵盤事件。鍵盤事件有三種:KEY_PRESSED鍵按下了,KEY_RELEASED鍵松開了,KEY_TYPED鍵按過了。每個鍵都有一個鍵碼,普通鍵的鍵碼就是ASCII碼。鍵碼可通過int getKeyCode()方法獲得。Java設置了一種“虛擬鍵碼”(Virtual Key Code),用“VK_”作為前綴,例如VK_G。下面是某些特殊鍵的虛擬鍵碼。
鍵碼 含義 鍵碼 含義
VK_LEFT/VK_RIGHT 左右方向鍵 VK_CONTROL Ctrl鍵
VK_KP_UP 小鍵盤向上 VK_ATL Alt鍵
VK_PAUSE 暫停鍵 VK_SHIFT Shift鍵
VK_NUMBER0 小鍵盤數字0 VK_F1 功能鍵F1
VK_0 數字鍵0 VK_B 字母鍵B
虛擬鍵碼對應的是鍵位,不區分大小寫。要想知道大小寫還必須查看修飾鍵(modifier key)。這由輸入事件InputEvent的getModifere()方法得到,把返回值與常量SHIFT_MASK, CONTROL_MASK, ALT_MASK比較,用以判定哪個修飾鍵處于“同時按下”狀態。
監聽器KeyListener有三個方法keyPressed(KeyEvent evt),keyReleased(KeyEvent evt),keyTyped(KeyEvent evt),分別用于相應事件發生后的處理。下面的例程中給自己的鍵盤監聽器建立了showKeyEventMsg方法來顯示按鍵信息。
除了getKeyCode()方法得到鍵碼外,還可用getKeyChar()方法得到輸入的字符,用getKeyText(code)方法得到輸入的字符串。用isShiftDown()判斷shift鍵是否被按下等。當按下Control鍵時getKeyText返回的是“ctrl",Alt和Shift也類似。
下面的例子演示得到鍵碼和字符的方法,在命令行上顯示結果。
例1 本例程演示鍵盤監聽器后鍵碼的用法。
///
// KeyEvt.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class MyKeyListener implements KeyListener{
publicvoid keyPressed(KeyEvent evt) {
System.out.println("\n按鍵被按下");
showKeyEventMsg(evt);
}
publicvoid keyReleased(KeyEvent evt){ }
publicvoid keyTyped(KeyEvent evt) { }
privatevoid showKeyEventMsg(KeyEvent evt){//顯示按鍵事件信息
//得到按鍵對應的整型數
int code = evt.getKeyCode();
//返回按鍵事件所代表的字符
char c = evt.getKeyChar();
//得到代表按鍵的字符串
String szText = evt.getKeyText(code);
if (code != KeyEvent.VK_UNDEFINED)
System.out.println("\n按鍵對應的整型數:"+code);
if (c != KeyEvent.CHAR_UNDEFINED)
System.out.println("\n與按鍵相聯系的字符:"+c);
if (evt.isShiftDown())
System.out.println("\n按鍵Shift被按下");
System.out.println("\n按鍵本身的字符串:"+szText);
}
}
class ButtonPanel extends JPanel{
public ButtonPanel() {
//新建一個文本域組件
tf = new JTextField(20);
add(tf);
//指定用來處理該按鈕事件的監聽器對象為JPanel本身
myListener = new MyKeyListener();
tf.addKeyListener(myListener);
}
private JTextField tf;
private MyKeyListener myListener;
}
class ButtonFrame extends JFrame{
public ButtonFrame() {
setTitle("鍵盤事件示例程序");
setSize(300, 200);
setLocation(100,100);
addWindowListener(new WindowAdapter() {
publicvoid windowClosing(WindowEvent e)
{ System.exit(0);
}
});
Container ctPane = getContentPane();
ctPane.add(new ButtonPanel());
}
}
publicclass KeyEvt{
publicstaticvoid main(String[] args) {
JFrame frame = new ButtonFrame();
frame.setVisible(true);
}
}
///簡要說明
程序建立了自己的鍵盤監聽器MyKeyListener,定義了一個新方法showKeyEventMsg用來在標準輸出設備上顯示有關的鍵盤信息。
在面版ButtonPanel上建立文本框并加鍵盤監聽器。把面版ButtonPanel放到窗口ButtonFrame中。
可以使用java的Scanner類,常見的是用nextInt()輸入一個整數,用next()輸入一個字符串,下面是一個小的演示程序。
public?class?InputTest
{
public?static?void?main(String[]?args)
{
Scanner?input?=?new?Scanner(System.in);
System.out.println(input.nextInt());
System.out.println(input.next());
input.close();
}
}
程序開發過程中,需要從鍵盤獲取輸入值是常有的事,但Java它偏偏就沒有像c語言給我們提供的scanf(),C++給我們提供的cin()獲取鍵盤輸入值的現成函數!Java沒有提供這樣的函數也不代表遇到這種情況我們就束手無策,請你看以下三種解決方法吧:
以下將列出幾種方法:
方法一:從控制臺接收一個字符,然后將其打印出來
public static void main(String [] args) throws IOException{
System.out.print(“Enter a Char:”);
char i = (char) System.in.read();
System.out.println(“your char is :”+i);
}
}
雖然此方式實現了從鍵盤獲取輸入的字符,但是System.out.read()只能針對一個字符的獲取,同時,獲取進來的變量的類型只能是char,當我們輸入一個數字,希望得到的也是一個整型變量的時候,我們還得修改其中的變量類型,這樣就顯得比較麻煩。
方法二:從控制臺接收一個字符串,然后將其打印出來。在這個題目中,我們需要用到BufferedReader類和InputStreamReader類
public static void main(String [] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println(“Enter your value:”);
str = br.readLine();
System.out.println(“your value is :”+str);
}
這樣我們就能獲取我們輸入的字符串。
方法三:這種方法我認為是最簡單,最強大的,就是用Scanner類
public static void main(String [] args) {
Scanner sc = new Scanner(System.in);
System.out.println(“請輸入你的姓名:”);
String name = sc.nextLine();
System.out.println(“請輸入你的年齡:”);
int age = sc.nextInt();
System.out.println(“請輸入你的工資:”);
float salary = sc.nextFloat();
System.out.println(“你的信息如下:”);
System.out.println(“姓名:”+name+“\n”+“年齡:”+age+“\n”+“工資:”+salary);
}
Scanner sc=new Scanner(System.in);
int j=sc.nextInt();
如果通過使用 nextInt() 方法,此掃描器輸入信息中的下一個標記可以解釋為默認基數中的一個 int 值。
關鍵字:一般是用scanner用法。
擴展資料
利用 Scanner 實現從鍵盤讀入integer或float 型數據:
import?java.util.*;
public class test {
public static void main(String args[])
{
Scanner in=new Scanner(System.in); //使用Scanner類定義對象
System.out.println("please input a float number");
float a=in.nextFloat(); //接收float型數據
System.out.println(a);
System.out.println("please input a integer number");
int b=in.nextInt(); //接收整形數據
System.out.println(b);
}
}
文章標題:java鍵盤輸入代碼 java在鍵盤上輸入的代碼
文章起源:http://vcdvsql.cn/article48/dooogep.html
成都網站建設公司_創新互聯,為您提供動態網站、云服務器、定制網站、微信公眾號、網頁設計公司、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯