真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java設(shè)備代碼,Java機(jī)

用java編寫(xiě)的ATM機(jī)源代碼

/** * @author admin * 該程序的功能為實(shí)現(xiàn)模擬銀行ATM自動(dòng)取款機(jī)提款,查詢等功能. */ import Java.io.*; /*該類為實(shí)現(xiàn)客戶信息及部分功能*/ class Account { private String code =null; //信用卡號(hào) private String name =null; //客戶姓名 private String password=null; //客戶密碼 private double money =0.0; //卡里金額 public Account(String code,String name,String password,double money) { this.code=code; this.name=name; this.password=password; this.money=money; } protected String get_Code() { return code; } protected String get_Name() { return name; } protected String get_Password() { return password; } public double get_Money() { return money; } /*得到剩余的錢(qián)的數(shù)目*/ protected void set_Balance(double mon) { money -= mon; } } /**********實(shí)現(xiàn)具體取款機(jī)功能*********/ class ATM { Account act; // private String name; // private String pwd; public ATM() { act=new Account("000000","Devil","123456",50000); } /***********歡迎界面***********/ protected void Welcome() { String str="---------------------------------"; System.out.print(str "\n" "歡迎使用Angel模擬自動(dòng)取款機(jī)程序.\n" str "\n"); System.out.print(" 1.取款." "\n" " 2.查詢信息." "\n" " 3.密碼設(shè)置." "\n" " 4.退出系統(tǒng)." "\n"); } /**********登陸系統(tǒng)**********/ protected void Load_Sys() throws Exception { String card,pwd; int counter=0; BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); do { System.out.println("請(qǐng)輸入您的信用卡號(hào):"); card=br.readLine(); System.out.println("請(qǐng)輸入您的密碼:"); pwd=br.readLine(); if(!isRight(card,pwd)) { System.out.println("您的卡號(hào)或密碼輸入有誤."); counter ; } else SysOpter(); }while(counter3); Lock_Sys(); } 回復(fù)獲取全部

創(chuàng)新互聯(lián)是一家專注于成都做網(wǎng)站、網(wǎng)站制作和成都服務(wù)器托管的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗(yàn)和案例。

什么是Java字節(jié)碼?

它是程序的一種低級(jí)表示,可以運(yùn)行于Java虛擬機(jī)上。將程序抽象成字節(jié)碼可以保證Java程序在各種設(shè)備上的運(yùn)行

Java號(hào)稱是一門(mén)“一次編譯到處運(yùn)行”的語(yǔ)言,從我們寫(xiě)的java文件到通過(guò)編譯器編譯成java字節(jié)碼文件(.class文件),這個(gè)過(guò)程是java編譯過(guò)程;而我們的java虛擬機(jī)執(zhí)行的就是字節(jié)碼文件。不論該字節(jié)碼文件來(lái)自何方,由哪種編譯器編譯,甚至是手寫(xiě)字節(jié)碼文件,只要符合java虛擬機(jī)的規(guī)范,那么它就能夠執(zhí)行該字節(jié)碼文件。

JAVA程序的運(yùn)行

因?yàn)镴ava具有跨平臺(tái)特性,為了實(shí)現(xiàn)這個(gè)特性Java執(zhí)行在一臺(tái)虛擬機(jī)上,這臺(tái)虛擬機(jī)也就是JVM,Java通過(guò)JVM屏蔽了不同平臺(tái)之間的差異,從而做到一次編譯到處執(zhí)行。JVM位于Java編譯器和OS平臺(tái)之間,Java編譯器只需面向JVM,生成JVM能理解的代碼,這個(gè)代碼即字節(jié)碼,JVM再將字節(jié)碼翻譯成真實(shí)機(jī)器所能理解的二進(jìn)制機(jī)器碼。

字節(jié)碼是怎么產(chǎn)生的?

我們所編寫(xiě)的程序都是.java格式,通常在執(zhí)行的時(shí)候也許點(diǎn)擊一下eclipse的運(yùn)行鍵就可以在控制臺(tái)看到運(yùn)行結(jié)果,但是也可以更酷一些,如果你裝了JDK,那就可以直接在以命令行的方式編譯運(yùn)行你的.java文件,編譯后會(huì)形成.class文件,這個(gè).class文件即字節(jié)碼。

字節(jié)碼怎么解讀?

上圖是編譯好的字節(jié)碼文件,即一堆16進(jìn)制的字節(jié),如果使用IDE去打開(kāi),也許看到的是已經(jīng)被反編譯的我們所熟悉的java代碼,但這才是純正的字節(jié)碼

這里只介紹字節(jié)碼由哪些部分組成, 具體的意思自行百度或者看文尾的連接, 有較為詳細(xì)的講解

上圖即字節(jié)碼文件的組成部分, Class文件的結(jié)構(gòu)不像XML等描述語(yǔ)言那樣松散自由。由于它沒(méi)有任何分隔符號(hào),

所以,以上數(shù)據(jù)項(xiàng)無(wú)論是順序還是數(shù)量都是被嚴(yán)格限定的。哪個(gè)字節(jié)代表什么含義,長(zhǎng)度是多少,先后順序如何,都不允許改變, 如上圖左側(cè)即每一部分規(guī)定的長(zhǎng)度

魔數(shù)(Magic Number)

魔數(shù)是用來(lái)區(qū)分文件類型的一種標(biāo)志,一般都是用文件的前幾個(gè)字節(jié)來(lái)表示。

比如0XCAFE BABE表示的是class文件,那么有人會(huì)問(wèn),文件類型可以通過(guò)文件名后綴來(lái)判斷???是的,但是文件名是可以修改的(包括后綴),那么為了保證文件的安全性,將文件類型寫(xiě)在文件內(nèi)部來(lái)保證不被篡改。

至于為什么是CAFE BABE估計(jì)大家也能猜到, 程序員與咖啡的不解之緣

版本號(hào)(Version)

版本號(hào)含主版本號(hào)和次版本號(hào),都是各占2個(gè)字節(jié)。在此Demo種為0X0000 0033。其中前面的0000是次版本號(hào),后面的0033是主版本號(hào)。通過(guò)進(jìn)制轉(zhuǎn)換得到的是次版本號(hào)為0,主版本號(hào)為51。高版本的JDK能向下兼容以前版本的Class文件,但不能運(yùn)行以后版本的Class文件,即使文件格式未發(fā)生任何變化. 這就是target參數(shù)的用處,可以在使用JDK 1.7編譯時(shí)指定-target 1.5

常量池(Constant Pool)

常量池是Class文件中的資源倉(cāng)庫(kù), 量池中主要存儲(chǔ)2大類常量:字面量和符號(hào)引用。字面量如文本字符串,java中聲明為final的常量值等等,而符號(hào)引用如類和接口的全局限定名,字段的名稱和描述符,方法的名稱和描述符。常量池是一個(gè)表結(jié)構(gòu),在表的內(nèi)容前有一個(gè)類型的計(jì)數(shù)器,表示常量池的長(zhǎng)度

上面的表中描述了11中數(shù)據(jù)類型的結(jié)構(gòu),其實(shí)在jdk1.7之后又增加了3種(CONSTANT_MethodHandle_info,CONSTANT_MethodType_info以及CONSTANT_InvokeDynamic_info)。這樣算起來(lái)一共是14種

訪問(wèn)標(biāo)志(Access_Flag)

訪問(wèn)標(biāo)志信息包括該Class文件是類還是接口,是否被定義成public,是否是abstract,如果是類,是否被聲明成final。通過(guò)上面的源代碼,我們知道該文件是類并且是public。

0x 00 21:是0×0020和0×0001的并集。其中0×0020這個(gè)標(biāo)志值涉及到字節(jié)碼指令

類索引(This Class Name)

類索引用于確定類的全限定名

0×00 03 表示引用第3個(gè)常量,同時(shí)第3個(gè)常量引用第19個(gè)常量,查找得”com/demo/Demo”。#3.#19

父類索引(Super Class Name)

0×00 04 同理:#4.#20(java/lang/Object)

接口索引(Interfaces)

通過(guò)上邊字節(jié)碼圖可以看到,這個(gè)接口有2+n個(gè)字節(jié),前兩個(gè)字節(jié)表示的是接口數(shù)量,后面跟著就是接口的表。我們這個(gè)類沒(méi)有任何接口,所以應(yīng)該是0000。果不其然,查找字節(jié)碼文件得到的就是0000。

字段表集合(fields)

字段表用于描述類和接口中聲明的變量。這里的字段包含了類級(jí)別變量以及實(shí)例變量,但是不包括方法內(nèi)部聲明的局部變量。接下來(lái)就是2+n個(gè)字段屬性。我們只有一個(gè)屬性a,所以應(yīng)該是0001。查找文件果不其然是0001。

該區(qū)域含有字段的訪問(wèn)標(biāo)志, 訪問(wèn)權(quán)限, 字段的名稱索引, 字段的描述符索引, 屬性表

描述符的作用就是用來(lái)描述字段的數(shù)據(jù)類型、方法的參數(shù)列表和返回值。而屬性表就是為字段表和方法表提供額外信息的表結(jié)構(gòu)。對(duì)于字段來(lái)說(shuō),此處如果將字段聲明為一個(gè)static final msg = "aaa"的常量,則字段后就會(huì)跟著一個(gè)屬性表,其中存在一項(xiàng)名為ConstantValue,指向常量池中的一個(gè)常量,值為的"aaa"。

方法(methods)

包含訪問(wèn)標(biāo)志表, 方法名索引 , 方法描述符索引, 屬性表數(shù)量,等

Attribute

0×0001 :同樣的,表示有1個(gè)Attributes了。

0x000f : #15(“SourceFile”)

0×0000 0002 attribute_length=2

0×0010 : sourcefile_index = #16(“Demo.java”)

SourceFile屬性用來(lái)記錄生成該Class文件的源碼文件名稱。

如何使用Java代碼獲取Android移動(dòng)終端Mac地址

通過(guò)設(shè)備開(kāi)通WiFi連接獲取Mac地址是最可取的,代碼如下:

/**

* 設(shè)備開(kāi)通WiFi連接,通過(guò)wifiManager獲取Mac地址

*/

public static String getMacFromWifi(Context context){

ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

State wifiState = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

if(wifiState == NetworkInfo.State.CONNECTED){//判斷當(dāng)前是否使用wifi連接

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);

if (!wifiManager.isWifiEnabled()) { //如果當(dāng)前wifi不可用

wifiManager.setWifiEnabled(true);

}

WifiInfo wifiInfo = wifiManager.getConnectionInfo();

return wifiInfo.getMacAddress();

}

return null;

}

java連接數(shù)據(jù)庫(kù)的代碼

用這個(gè)類吧.好的話,給我加加分.

import java.sql.*;

/**

* @功能: 一個(gè)JDBC的本地化API連接類,封裝了數(shù)據(jù)操作方法,只用傳一個(gè)SQL語(yǔ)句即可

* @作者: 李開(kāi)歡

* @日期: 2007/

*/

public class ConnectionDemo {

/*

* 這里可以將常量全部放入另一個(gè)類中,以方便修改

*/

private static Connection conn;

private static Statement ps;

private static ResultSet rs;

private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";

private static final String USER ="sa";

private static final String PASS = "sa";

public ConnectionDemo() {

// TODO Auto-generated constructor stub

ConnectionDemo.getConnection();

}

public static Connection getConnection(){

System.out.println("連接中...");

try {

Class.forName(ConnectionDemo.DRIVER);

conn = DriverManager.getConnection(ConnectionDemo.URL, ConnectionDemo.USER, ConnectionDemo.PASS);

System.out.println("成功連接");

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

public static Statement getStatement(String sql){

System.out.println("執(zhí)行SQL語(yǔ)句中...");

try {

ps = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

if(sql.substring(0, 6).equals("select")){

rs = ps.executeQuery(sql);

System.out.println("執(zhí)行完查詢操作,結(jié)果已返回ResultSet集合");

}else if(sql.substring(0, 6).equals("delete")){

ps.executeUpdate(sql);

System.out.println("已執(zhí)行完畢刪除操作");

}else if(sql.substring(0, 6).equals("insert")){

ps.executeUpdate(sql);

System.out.println("已執(zhí)行完畢增加操作");

}else{

ps.executeUpdate(sql);

System.out.println("已執(zhí)行完畢更新操作");

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return ps;

}

public static ResultSet getResultSet(){

System.out.println("查詢結(jié)果為:");

return rs;

}

public static void closeConnection(){

System.out.println("關(guān)閉連接中...");

try {

if (rs != null) {

rs.close();

System.out.println("已關(guān)閉ResultSet");

}

if (ps != null) {

ps.close();

System.out.println("已關(guān)閉Statement");

}

if (conn != null) {

conn.close();

System.out.println("已關(guān)閉Connection");

}

} catch (Exception e) {

// TODO: handle exception

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

ConnectionDemo.getConnection();

String sql = "delete from type where id = 1";

ConnectionDemo.getStatement(sql);

String sql2 = "insert into type values(1,'教學(xué)設(shè)備')";

ConnectionDemo.getStatement(sql2);

String sql1 = "select * from type";

ConnectionDemo.getStatement(sql1);

ResultSet rs = ConnectionDemo.getResultSet();

System.out.println("編號(hào) "+"類 型");

try {

while(rs.next()){

System.out.print(" "+rs.getInt(1)+" ");

System.out.println(rs.getString(2));

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

ConnectionDemo.closeConnection();

}

}

求段java代碼,根據(jù)數(shù)據(jù)庫(kù)中的IP和用戶名密碼,遠(yuǎn)程telnet到設(shè)備

直接給你java關(guān)于telnet的一個(gè)例子

public?class?Main?{????public?static?void?main(String[]?args)?{????????try?{

TelnetClient?telnetClient?=?new?TelnetClient("vt200");??//指明Telnet終端類型,否則會(huì)返回來(lái)的數(shù)據(jù)中文會(huì)亂碼

telnetClient.setDefaultTimeout(5000);?//socket延遲時(shí)間:5000ms

telnetClient.connect("127.0.0.1",23);??//建立一個(gè)連接,默認(rèn)端口是23

InputStream?inputStream?=?telnetClient.getInputStream();?//讀取命令的流

PrintStream?pStream?=?new?PrintStream(telnetClient.getOutputStream());??//寫(xiě)命令的流

byte[]?b?=?new?byte[1024];????????????int?size;

StringBuffer?sBuffer?=?new?StringBuffer(300);????????????while(true)?{?????//讀取Server返回來(lái)的數(shù)據(jù),直到讀到登陸標(biāo)識(shí),這個(gè)時(shí)候認(rèn)為可以輸入用戶名

size?=?inputStream.read(b);????????????????if(-1?!=?size)?{

sBuffer.append(new?String(b,0,size));????????????????????if(sBuffer.toString().trim().endsWith("login:"))?{????????????????????????break;

}

}

}

System.out.println(sBuffer.toString());

pStream.println("exit");?//寫(xiě)命令

pStream.flush();?//將命令發(fā)送到telnet?Server

if(null?!=?pStream)?{

pStream.close();

}

telnetClient.disconnect();

}?catch?(SocketException?e)?{????????????//?TODO?Auto-generated?catch?block????????????e.printStackTrace();

}?catch?(IOException?e)?{????????????//?TODO?Auto-generated?catch?block????????????e.printStackTrace();

}

}

}


文章題目:java設(shè)備代碼,Java機(jī)
文章來(lái)源:http://weahome.cn/article/dsshhjh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部