Shape.java接口代碼
專業(yè)領(lǐng)域包括做網(wǎng)站、成都網(wǎng)站建設(shè)、成都商城網(wǎng)站開(kāi)發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開(kāi)發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開(kāi)發(fā)公司不同,成都創(chuàng)新互聯(lián)公司的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。
public interface Shape {
public static final double PI = 3.14d;
public double area();
}
Circle.java圓類代碼
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
? this.radius = radius;
}
@Override
public double area() {
? return PI * this.radius * this.radius;
}
public double perimeter() {
? return 2 * PI * this.radius;
}
}
Cylinder.java圓柱體類代碼
public class Cylinder extends Circle {
private double height;
public Cylinder(double radius, double height) {
? super(radius);
? this.height = height;
}
public double area() {
? return 2 * super.area() + super.perimeter() * this.height;
}
public double volume() {
? return super.area() * this.height;
}
}
X5_3_6.java主類代碼
public class X5_3_6 {
public static void main(String[] args) {
? Circle cir1 = new Circle(5);
? System.out.println("圓的面積為:" + cir1.area());
? System.out.println("圓的周長(zhǎng)為:" + cir1.perimeter());
? Cylinder cy1 = new Cylinder(10, 15);
? System.out.println("圓柱體的表面積為:" + cy1.area());
? System.out.println("圓柱體的體積為:" + cy1.volume());
}
}
上面是我寫(xiě)的代碼,下圖是執(zhí)行結(jié)果,麻煩看一下,是否可以。
連連看java源代碼
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戲按鈕數(shù)組
JButton exitButton,resetButton,newlyButton; //退出,重列,重新開(kāi)始按鈕
JLabel fractionLable=new JLabel("0"); //分?jǐn)?shù)標(biāo)簽
JButton firstButton,secondButton; //分別記錄兩次被選中的按鈕
int grid[][] = new int[8][7];//儲(chǔ)存游戲按鈕位置
static boolean pressInformation=false; //判斷是否有按鈕被選中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位置坐標(biāo)
int i,j,k,n;//消除方法控制
public void init(){
mainFrame=new JFrame("JKJ連連看");
thisContainer = mainFrame.getContentPane();
thisContainer.setLayout(new BorderLayout());
centerPanel=new JPanel();
southPanel=new JPanel();
northPanel=new JPanel();
thisContainer.add(centerPanel,"Center");
thisContainer.add(southPanel,"South");
thisContainer.add(northPanel,"North");
centerPanel.setLayout(new GridLayout(6,5));
for(int cols = 0;cols 6;cols++){
for(int rows = 0;rows 5;rows++ ){
diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));
diamondsButton[cols][rows].addActionListener(this);
centerPanel.add(diamondsButton[cols][rows]);
}
}
exitButton=new JButton("退出");
exitButton.addActionListener(this);
resetButton=new JButton("重列");
resetButton.addActionListener(this);
newlyButton=new JButton("再來(lái)一局");
newlyButton.addActionListener(this);
southPanel.add(exitButton);
southPanel.add(resetButton);
southPanel.add(newlyButton);
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));
northPanel.add(fractionLable);
mainFrame.setBounds(280,100,500,450);
mainFrame.setVisible(true);
}
public void randomBuild() {
int randoms,cols,rows;
for(int twins=1;twins=15;twins++) {
randoms=(int)(Math.random()*25+1);
for(int alike=1;alike=2;alike++) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=randoms;
}
}
}
public void fraction(){
fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));
}
public void reload() {
int save[] = new int[30];
int n=0,cols,rows;
int grid[][]= new int[8][7];
for(int i=0;i=6;i++) {
for(int j=0;j=5;j++) {
if(this.grid[i][j]!=0) {
save[n]=this.grid[i][j];
n++;
}
}
}
n=n-1;
this.grid=grid;
while(n=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
while(grid[cols][rows]!=0) {
cols=(int)(Math.random()*6+1);
rows=(int)(Math.random()*5+1);
}
this.grid[cols][rows]=save[n];
n--;
}
mainFrame.setVisible(false);
pressInformation=false; //這里一定要將按鈕點(diǎn)擊信息歸為初始
init();
for(int i = 0;i 6;i++){
for(int j = 0;j 5;j++ ){
if(grid[i+1][j+1]==0)
diamondsButton[i][j].setVisible(false);
}
}
}
public void estimateEven(int placeX,int placeY,JButton bz) {
if(pressInformation==false) {
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
pressInformation=true;
}
else {
x0=x;
y0=y;
fristMsg=secondMsg;
firstButton=secondButton;
x=placeX;
y=placeY;
secondMsg=grid[x][y];
secondButton=bz;
if(fristMsg==secondMsg secondButton!=firstButton){
xiao();
}
}
}
public void xiao() { //相同的情況下能不能消去。仔細(xì)分析,不一條條注釋
if((x0==x (y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)(y0==y))){ //判斷是否相鄰
remove();
}
else{
for (j=0;j7;j++ ) {
if (grid[x0][j]==0){ //判斷第一個(gè)按鈕同行哪個(gè)按鈕為空
if (yj) { //如果第二個(gè)按鈕的Y坐標(biāo)大于空按鈕的Y坐標(biāo)說(shuō)明第一按鈕在第二按鈕左邊
for (i=y-1;i=j;i-- ){ //判斷第二按鈕左側(cè)直到第一按鈕中間有沒(méi)有按鈕
if (grid[x][i]!=0) {
k=0;
break;
}
else //K=1說(shuō)明通過(guò)了第一次驗(yàn)證
}
if (k==1) {
linePassOne();
}
}
if (yj){ //如果第二個(gè)按鈕的Y坐標(biāo)小于空按鈕的Y坐標(biāo)說(shuō)明第一按鈕在第二按鈕右邊
for (i=y+1;i=j ;i++ ){ //判斷第二按鈕左側(cè)直到第一按鈕中間有沒(méi)有按鈕
if (grid[x][i]!=0){
k=0;
break;
}
else
}
if (k==1){
linePassOne();
}
}
if (y==j ) {
linePassOne();
}
}
if (k==2) {
if (x0==x) {
remove();
}
if (x0x) {
for (n=x0;n=x-1;n++ ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 n==x-1) {
remove();
}
}
}
if (x0x) {
for (n=x0;n=x+1 ;n-- ) {
if (grid[n][j]!=0) {
k=0;
break;
}
if(grid[n][j]==0 n==x+1) {
remove();
}
}
}
}
}
for (i=0;i8;i++ ) { //列
if (grid[i][y0]==0) {
if (xi) {
for (j=x-1;j=i ;j-- ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else
}
if (k==1) {
rowPassOne();
}
}
if (xi) {
for (j=x+1;j=i;j++ ) {
if (grid[j][y]!=0) {
k=0;
break;
}
else
}
if (k==1) {
rowPassOne();
}
}
if (x==i) {
rowPassOne();
}
}
if (k==2){
if (y0==y) {
remove();
}
if (y0y) {
for (n=y0;n=y-1 ;n++ ) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 n==y-1) {
remove();
}
}
}
if (y0y) {
for (n=y0;n=y+1 ;n--) {
if (grid[i][n]!=0) {
k=0;
break;
}
if(grid[i][n]==0 n==y+1) {
remove();
}
}
}
}
}
}
}
public void linePassOne(){
if (y0j){ //第一按鈕同行空按鈕在左邊
for (i=y0-1;i=j ;i-- ){ //判斷第一按鈕同左側(cè)空按鈕之間有沒(méi)按鈕
if (grid[x0][i]!=0) {
k=0;
break;
}
else //K=2說(shuō)明通過(guò)了第二次驗(yàn)證
}
}
if (y0j){ //第一按鈕同行空按鈕在與第二按鈕之間
for (i=y0+1;i=j ;i++){
if (grid[x0][i]!=0) {
k=0;
break;
}
else
}
}
}
public void rowPassOne(){
if (x0i) {
for (j=x0-1;j=i ;j-- ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else
}
}
if (x0i) {
for (j=x0+1;j=i ;j++ ) {
if (grid[j][y0]!=0) {
k=0;
break;
}
else
}
}
}
public void remove(){
firstButton.setVisible(false);
secondButton.setVisible(false);
fraction();
pressInformation=false;
k=0;
grid[x0][y0]=0;
grid[x][y]=0;
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==newlyButton){
int grid[][] = new int[8][7];
this.grid = grid;
randomBuild();
mainFrame.setVisible(false);
pressInformation=false;
init();
}
if(e.getSource()==exitButton)
System.exit(0);
if(e.getSource()==resetButton)
reload();
for(int cols = 0;cols 6;cols++){
for(int rows = 0;rows 5;rows++ ){
if(e.getSource()==diamondsButton[cols][rows])
estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);
}
}
}
public static void main(String[] args) {
lianliankan llk = new lianliankan();
llk.randomBuild();
llk.init();
}
}
//old 998 lines
//new 318 lines
JAVA程序員之路
很多網(wǎng)友問(wèn)我學(xué)習(xí)Java有沒(méi)有什么捷徑,我說(shuō)“無(wú)他,唯手熟爾”。但是我卻很愿意將自己學(xué)習(xí)的一些經(jīng)驗(yàn)寫(xiě)出來(lái),以便后來(lái)者少走彎路,幫助別人是最大的快樂(lè)嘛!
要想學(xué)好Java,首先要知道Java的大致分類。我們知道,自從Sun推出Java以來(lái),就力圖使之無(wú)所不包,所以Java發(fā)展到現(xiàn)在,按應(yīng)用來(lái)分主要分為三大塊:J2SE,J2ME和J2EE,這也就是Sun ONE(Open Net Environment)體系。J2SE就是Java2的標(biāo)準(zhǔn)版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入是系統(tǒng)開(kāi)發(fā),如手機(jī)和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開(kāi)發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。J2SE開(kāi)發(fā)桌面應(yīng)用軟件比起VC,VB,DEPHI這些傳統(tǒng)開(kāi)發(fā)語(yǔ)言來(lái)說(shuō),優(yōu)勢(shì)好象并不明顯。J2ME對(duì)于初學(xué)者來(lái)說(shuō),好象又有點(diǎn)深?yuàn)W,而且一般開(kāi)發(fā)者很難有開(kāi)發(fā)環(huán)境。所以現(xiàn)在應(yīng)用最廣泛又最好學(xué)的就是J2EE了。J2EE又包括許多組件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來(lái)可不是一兩天的事。
那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語(yǔ)法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再?gòu)腏SP學(xué)起。如果你學(xué)過(guò)HTML,那么事情要好辦的多,如果沒(méi)有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語(yǔ)法也不多,它更象一個(gè)腳本語(yǔ)言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時(shí),也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說(shuō)JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來(lái)控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來(lái)你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來(lái),便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個(gè)體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽(tīng)到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)和配置中間件上。至于JDBC,就不用我多說(shuō)了,你如果用java編過(guò)存取數(shù)據(jù)庫(kù)的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看Javamail了。
好了,對(duì)Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬(wàn)不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P(pán)的書(shū)來(lái)看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它再輸一遍吧,再說(shuō)直接復(fù)制還不用怕出錯(cuò),何樂(lè)而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來(lái),有問(wèn)題盡管問(wèn),只要問(wèn)題不是太傻,一般高手都會(huì)回答你的。下面介紹幾個(gè)好的Java方面的編程網(wǎng)站:
CSDN論壇 中國(guó)最有名的技術(shù)論壇,《程序員》雜志就是他們出版的,你可以在上面提出問(wèn)題,馬上就有人回答你,如果你覺(jué)得好,你可以給那人加分;
Java研究組 上面有很多原創(chuàng)文章,高手還是挺多的;
Java開(kāi)發(fā)者 那里Java資料比較全;
java.com.cn 看這域名就知道有多牛,注冊(cè)用戶快接近一萬(wàn)了,同時(shí)在線人數(shù)也在一千左右,人氣很旺的;
IBM的開(kāi)發(fā)者網(wǎng) IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書(shū)也看了,程序也做了,別人問(wèn)我的問(wèn)題我都能解決了,是不是就成為高手了呢?當(dāng)然沒(méi)那么簡(jiǎn)單,這只是萬(wàn)里長(zhǎng)征走完了第一步。不信?那你出去接一個(gè)項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計(jì)嗎,你知道怎么組織人員進(jìn)行開(kāi)發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再?zèng)]有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書(shū)本上那些憑空想出來(lái)的程序。所以你快去找一份Java的編程工作來(lái)做吧(如果是在校學(xué)生可以去做兼職?。趯?shí)踐中提高自己,那才是最快的。不過(guò)你得祈禱在公司里碰到一個(gè)高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個(gè)辦法就是讀開(kāi)放源碼的程序了。我們知道開(kāi)放源碼大都出自高手,他們?cè)O(shè)計(jì)合理,考慮周到,再加上有廣大的程序員參與,代碼的價(jià)值自然是字字珠嘰,鏗鏘有力(對(duì)不起,最近《金裝四大才子》看多了)。學(xué)Java必讀的兩個(gè)開(kāi)源程序就是Jive和Pet Store.。Jive是國(guó)外一個(gè)非常著名的BBS程序,完全開(kāi)放源碼。論壇的設(shè)計(jì)采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),可以很輕易的在不同數(shù)據(jù)庫(kù)中移植。論壇還有方便的安裝和管理程序,這是我們平時(shí)編程時(shí)容易忽略的一部份(中國(guó)程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國(guó)外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來(lái)研究一下。相信你讀完代碼后,會(huì)有脫胎換骨的感覺(jué)。遺憾的是Jive從2.5以后就不再無(wú)條件的開(kāi)放源代碼,同時(shí)有l(wèi)icence限制。不過(guò)幸好還有中國(guó)一流的Java程序員關(guān)注它,外國(guó)人不開(kāi)源了,中國(guó)人就不能開(kāi)源嗎?這里向大家推薦一個(gè)漢化的Jive版本—J道。Jive(J道版)是由中國(guó)Java界大名鼎鼎的banq在Jive2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個(gè)開(kāi)發(fā)團(tuán)隊(duì)在不斷升級(jí)。你可以訪問(wèn)banq的網(wǎng) 去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上去下,安裝上有什么問(wèn)題,可以到論壇上去提問(wèn)。Pet Store.(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開(kāi)放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯(cuò)過(guò)了。
你一定會(huì)高興地說(shuō),哈哈,原來(lái)成為Java高手就這么簡(jiǎn)單啊!記得我也曾碰到過(guò)一個(gè)項(xiàng)目經(jīng)理,號(hào)稱Java很簡(jiǎn)單,只要三個(gè)月就可以學(xué)會(huì)。其實(shí)說(shuō)這種話的人就如當(dāng)年小日本號(hào)稱“三個(gè)月拿下中國(guó)”一樣大言不慚。不是我潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒(méi)有學(xué)到Java的精髓。接下來(lái)你得研究設(shè)計(jì)模式了。設(shè)計(jì)模式是高級(jí)程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計(jì)模式并不是一種具體"技術(shù)",它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來(lái)的Java語(yǔ)言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計(jì)模式反復(fù)向你強(qiáng)調(diào)一個(gè)宗旨:要讓你的程序盡可能的可重用。關(guān)于設(shè)計(jì)模式的資料,還是向大家推薦banq的網(wǎng) ,他把GOF的23種模式以通俗易懂的方式詮釋出來(lái),純Java描述,真是經(jīng)典中的經(jīng)典。有時(shí)間再研究一下MVC結(jié)構(gòu)(把Model-View-Control分離開(kāi)的設(shè)計(jì)思想)吧,現(xiàn)在很流行的Structs就是它的一種實(shí)現(xiàn)方式,不過(guò)Structs用起來(lái)實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計(jì)自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會(huì)上一個(gè)臺(tái)階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見(jiàn)的應(yīng)用整理出來(lái),再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€(gè)志同道合的朋友成立一個(gè)工作室吧,你可以去承接一些項(xiàng)目做了,一開(kāi)始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來(lái)可以迅速作完,相信大家以后都會(huì)來(lái)找你的,所以Money就嘩啦啦的來(lái)了。。。。。。
當(dāng)然你也可以參加一些開(kāi)源項(xiàng)目,一方面可以提高自己,另一方面也是為中國(guó)軟件事業(yè)做貢獻(xiàn)嘛!開(kāi)發(fā)者在互聯(lián)網(wǎng)上用CVS合作開(kāi)發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時(shí)開(kāi)發(fā)同一個(gè)軟件,是不是很有意思呢?
下面介紹兩個(gè)好的開(kāi)源項(xiàng)目網(wǎng)站:
湖北省軟件公共開(kāi)發(fā)平
共創(chuàng)聯(lián)
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識(shí)時(shí)務(wù)者為俊杰”。你知道計(jì)算機(jī)界現(xiàn)在的發(fā)展形勢(shì)嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計(jì)劃之間的明爭(zhēng)暗斗嗎?你知道計(jì)算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計(jì)算機(jī)廠商最近的動(dòng)作,都可以看出來(lái)“Web服務(wù)將是下一代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計(jì)劃的斗爭(zhēng)焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個(gè)嶄新的分布式計(jì)算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語(yǔ)言編寫(xiě)的軟件能夠輕易的集成起來(lái),使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場(chǎng)。不遠(yuǎn)的將來(lái),我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門(mén)旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請(qǐng)注意,這所有的一切都是Web站點(diǎn)間自動(dòng)完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會(huì)覺(jué)得這是天方夜談,不過(guò)就近的說(shuō),你也很有可能承接一個(gè)項(xiàng)目,要集成兩個(gè)企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Dephi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說(shuō)你是Java高手,大家都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技術(shù),如Web服務(wù),而且你Dephi也要懂一點(diǎn)吧(Dephi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。 你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時(shí)間卻在搞別的技術(shù)。太極張三豐里說(shuō),最厲害的招式就是沒(méi)有招式,可能就是這個(gè)道理吧!
因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個(gè)網(wǎng)站吧:
中國(guó)UDDI技術(shù)聯(lián)
CSDN的柴曉路專 (注:柴曉路也是互聯(lián)網(wǎng)上一個(gè)有名的人物,他發(fā)表過(guò)很多關(guān)于Web服務(wù)的文章,還出了一書(shū),應(yīng)該稱的上是中國(guó)Web服務(wù)技術(shù)的先行者)
IBM的開(kāi)發(fā)者網(wǎng)絡(luò)的XMLWeb Service專欄:
IBM可是Web服務(wù)的力推者
嗚…你費(fèi)勁千心萬(wàn)苦,總算成為Java高手了,怎叫人不由喜極而泣呢!是啊,真不容易,真不簡(jiǎn)單,真叫人感動(dòng)??!那么打個(gè)電話告訴我吧,什么?我的電話號(hào)碼是多少?昏到,你打電話問(wèn)不就知道了嗎,真是的……
如上是在網(wǎng)上考下來(lái)的,但個(gè)人認(rèn)為SCJP證書(shū)也好,程序員等級(jí)證書(shū)也好,不要太看重它;關(guān)鍵是你手中有沒(méi)有技術(shù),能不能拿出活來(lái)。我面試時(shí)候都是以證書(shū)為參考,主要衡量你的手段還是提問(wèn)技術(shù)性問(wèn)題以及一些編程方面的基礎(chǔ)問(wèn)題。建議不要把證書(shū)看的太重。
參考資料:參考高手建議
要成為JAVA方面工作的最低要求就要了解一些方法.
java 學(xué)習(xí)步驟-_-
J2EE又包括許多組件,如JSP,Servlet,JavaBean,EJB,JDBC,JavaMail等。要學(xué)習(xí)起來(lái)可不是一兩天的事。
那么又該如何學(xué)習(xí)J2EE呢?當(dāng)然Java語(yǔ)法得先看一看的,I/O包,Util包,Lang包你都熟悉了嗎?然后再?gòu)腏SP學(xué)起。如果你學(xué)過(guò)HTML,那么事情要好辦的多,如果沒(méi)有,那你快去補(bǔ)一補(bǔ)HTML基礎(chǔ)吧。其實(shí)JSP中的Java語(yǔ)法也不多,它更象一個(gè)腳本語(yǔ)言,有點(diǎn)象ASP。然后你就該學(xué)一學(xué)Servlet了。Servlet就是服務(wù)器端小程序,他負(fù)責(zé)生成發(fā)送給客戶端的HTML文件。JSP在執(zhí)行時(shí),也是先轉(zhuǎn)換成Servlet再運(yùn)行的。雖說(shuō)JSP理論上可以完全取代Servlet,這也是SUN推出JSP的本意,可是Servlet用來(lái)控制流程跳轉(zhuǎn)還是挺方便的,也令程序更清晰。接下來(lái)你應(yīng)該學(xué)習(xí)一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代碼的混亂方式了,這種方式跟ASP又有什么區(qū)別呢?還好,SUN提供了Javabean可以把你的JSP中的Java代碼封裝起來(lái),便于調(diào)用也便于重用。接著就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean還是有區(qū)別的。它是一個(gè)體系結(jié)構(gòu),你可以搭建更安全、更穩(wěn)定的企業(yè)應(yīng)用。它的大量代碼已由中間件(也就是我們常聽(tīng)到的Weblogic,Websphere這些J2EE服務(wù)器)完成了,所以我們要做的程序代碼量很少,大部分工作都在設(shè)計(jì)和配置中間件上。至于JDBC,就不用我多說(shuō)了,你如果用java編過(guò)存取數(shù)據(jù)庫(kù)的程序,就應(yīng)該很熟悉。還有,如果你要用Java編發(fā)送電子郵件的程序,你就得看看JavaMail了。
好了,對(duì)Java和J2EE有了一些基本概念之后,你就應(yīng)該編一些程序了,千萬(wàn)不要紙上談兵哦。最好找一些有實(shí)例且?guī)Ч獗P(pán)的書(shū)來(lái)看,這樣看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用勞您老大架再親自把它 再輸一遍吧,再說(shuō)直接復(fù)制還不用怕出錯(cuò),何樂(lè)而不為呢!還有就是要經(jīng)常上一些好的Java編程文章,有好的文章要Cut下來(lái),有問(wèn)題盡管問(wèn),只要問(wèn)題不是太傻,一般高手都會(huì)回答你的。下面介紹幾個(gè)好的Java方面的編程網(wǎng)站:
CSDN論壇 中國(guó)最有名的技術(shù)論壇,《程序員》雜志就是他們出版的,你可以在上面提出問(wèn)題,馬上就有人回答你,如果你覺(jué)得好,你可以給那人加分;
Java研究組織 上面有很多原創(chuàng)文章,高手還是挺多的;
Java開(kāi)發(fā)者 那里Java資料比較全;
java.com.cn 看這域名就知道有多牛,注冊(cè)用戶快接近一萬(wàn)了,同時(shí)在線人數(shù)也在一千左右,人氣很旺的;
IBM的開(kāi)發(fā)者網(wǎng)絡(luò) IBM永遠(yuǎn)的藍(lán)色巨人;
那么我書(shū)也看了,程序也做了,別人問(wèn)我的問(wèn)題我都能解決了,是不是就成為高手了呢?當(dāng)然沒(méi)那么簡(jiǎn)單,這只是萬(wàn)里長(zhǎng)征走完了第一步。不信?那你出去接一個(gè)項(xiàng)目,你知道怎么下手嗎,你知道怎么設(shè)計(jì)嗎,你知道怎么組織人員進(jìn)行開(kāi)發(fā)嗎?你現(xiàn)在腦子里除了一些散亂的代碼之外,可能再?zèng)]有別的東西了吧!你現(xiàn)在最缺的是實(shí)際的工作經(jīng)驗(yàn),而不是書(shū)本上那些憑空想出來(lái)的程序。所以你快去找一份Java的編程工作來(lái)做吧(如果是在校學(xué)生可以去做兼職啊),在實(shí)踐中提高自己,那才是最快的。不過(guò)你得祈禱在公司里碰到一個(gè)高手,而且他還愿意不厭其煩地教你,這樣好象有點(diǎn)難哦!
還有一個(gè)辦法就是讀開(kāi)放源碼的程序了。我們知道開(kāi)放源碼大都出自高手,他們?cè)O(shè)計(jì)合理,考慮周到,再加上有廣大的程序員參與,代碼的價(jià)值自然是字字珠嘰,鏗鏘有力(對(duì)不起,偶最近《金裝四大才子》看多了)。學(xué)Java必讀的兩個(gè)開(kāi)源程序就是Jive和Pet Store。
Jive是國(guó)外一個(gè)非常著名的BBS程序,完全開(kāi)放源碼。論壇的設(shè)計(jì)采用了很多先進(jìn)的技術(shù),如Cache、用戶認(rèn)證、Filter、XML等,而且論壇完全屏蔽了對(duì)數(shù)據(jù)庫(kù)的訪問(wèn),可以很輕易的在不同數(shù)據(jù)庫(kù)中移植。論壇還有方便的安裝和管理程序,這是我們平時(shí)編程時(shí)容易忽略的一部份(中國(guó)程序員一般只注重編程的技術(shù)含量,卻完全不考慮用戶的感受,這就是我們與國(guó)外軟件的差距所在)。Jive的資料在很多網(wǎng)站上都有,大家可以找來(lái)研究一下。相信你讀完代碼后,會(huì)有脫胎換骨的感覺(jué)。遺憾的是Jive從2.5以后就不再無(wú)條件的開(kāi)放源代碼,同時(shí)有l(wèi)icence限制。不過(guò)幸好還有中國(guó)一流的Java程序員關(guān)注它,外國(guó)人不開(kāi)源了,中國(guó)人就不能開(kāi)源嗎?這里向大家推薦一個(gè)漢化的Jive版本—J道。Jive(J道版)是由中國(guó)Java界大名鼎鼎的banq在Jive 2.1版本基礎(chǔ)上改編而成, 全中文,增加了一些實(shí)用功能,如貼圖,用戶頭像和用戶資料查詢等,而且有一個(gè)開(kāi)發(fā)團(tuán)隊(duì)在不斷升級(jí)。你可以訪問(wèn)banq的網(wǎng)站 去下載,或到同濟(jì)技術(shù)論壇的服務(wù)器上 去下,安裝上有什么問(wèn)題,可以到論壇上去提問(wèn)。
Pet Store(寵物店)是SUN公司為了演示其J2EE編程規(guī)范而推出的開(kāi)放源碼的程序,應(yīng)該很具有權(quán)威性,想學(xué)J2EE和EJB的朋友不要錯(cuò)過(guò)了。
你一定會(huì)高興地說(shuō),哈哈,原來(lái)成為Java高手就這么簡(jiǎn)單啊!記得Tomjava也曾碰到過(guò)一個(gè)項(xiàng)目經(jīng)理,號(hào)稱Java很簡(jiǎn)單,只要三個(gè)月就可以學(xué)會(huì)。其實(shí)說(shuō)這種話的人就如當(dāng)年小日本號(hào)稱“三個(gè)月拿下中國(guó)”一樣大言不慚。不是Tomjava潑你冷水,你現(xiàn)在只是學(xué)到了Java的骨架,卻還沒(méi)有學(xué)到Java的精髓。接下來(lái)你得研究設(shè)計(jì)模式了。設(shè)計(jì)模式是高級(jí)程序員真正掌握面向?qū)ο蠛诵乃枷氲谋匦拚n。設(shè)計(jì)模式并不是一種具體"技術(shù)",它講述的是思想,它不僅僅展示了接口或抽象類在實(shí)際案例中的靈活應(yīng)用和智慧,讓你能夠真正掌握接口或抽象類的應(yīng)用,從而在原來(lái)的Java語(yǔ)言基礎(chǔ)上躍進(jìn)一步,更重要的是,設(shè)計(jì)模式反復(fù)向你強(qiáng)調(diào)一個(gè)宗旨:要讓你的程序盡可能的可重用。
關(guān)于設(shè)計(jì)模式的資料,還是向大家推薦banq的網(wǎng)站 ,他把GOF的23種模式以通俗易懂的方式詮釋出來(lái),純Java描述,真是經(jīng)典中的經(jīng)典。有時(shí)間再研究一下MVC結(jié)構(gòu)(把Model-View-Control分離開(kāi)的設(shè)計(jì)思想)吧,現(xiàn)在很流行的Struts就是它的一種實(shí)現(xiàn)方式,不過(guò)Struts用起來(lái)實(shí)在是很繁,我們只要學(xué)習(xí)其精髓即可,我們完全可以設(shè)計(jì)自己的MVC結(jié)構(gòu)。然后你再研究一下軟件Refactoring(重整)和極限XP編程,相信你又會(huì)上一個(gè)臺(tái)階。
做完這些,你不如整理一下你的Java代碼,把那些經(jīng)典的程序和常見(jiàn)的應(yīng)用整理出來(lái),再精心打造一番,提高其重用性和可擴(kuò)展性。你再找?guī)讉€(gè)志同道合的朋友成立一個(gè)工作室吧,你可以去承接一些項(xiàng)目做了,一開(kāi)始可能有些困難,可是你有技術(shù)積累,又考慮周全,接下項(xiàng)目來(lái)可以迅速作完,相信大家以后都會(huì)來(lái)找你的,所以Money就嘩啦啦的來(lái)了。。。。。。
當(dāng)然你也可以參加一些開(kāi)源項(xiàng)目,一方面可以提高自己,另一方面也是為中國(guó)軟件事業(yè)做貢獻(xiàn)嘛!開(kāi)發(fā)者在互聯(lián)網(wǎng)上用CVS合作開(kāi)發(fā),用QQ,MSN,E-mail討論聯(lián)系,天南海北的程序員分散在各地卻同時(shí)開(kāi)發(fā)同一個(gè)軟件,是不是很有意思呢?
下面介紹兩個(gè)好的開(kāi)源項(xiàng)目網(wǎng)站:
湖北省軟件公共開(kāi)發(fā)平臺(tái)
共創(chuàng)聯(lián)盟
哇,好高興哦,我終于成為高手了!非也,非也。古人云:“識(shí)時(shí)務(wù)者為俊杰”。你知道計(jì)算機(jī)界現(xiàn)在的發(fā)展形勢(shì)嗎?你知道微軟的.NET藍(lán)圖和SUN ONE計(jì)劃之間的明爭(zhēng)暗斗嗎?你知道計(jì)算機(jī)技術(shù)將向何處發(fā)展嗎?其實(shí)從各大計(jì)算機(jī)廠商最近的動(dòng)作,都可以看出來(lái)“Web服務(wù)將是下一代互聯(lián)網(wǎng)應(yīng)用的制高點(diǎn)”,而微軟的.NET藍(lán)圖和SUN ONE計(jì)劃的斗爭(zhēng)焦點(diǎn),也就是Web服務(wù)。Web服務(wù)就是一個(gè)嶄新的分布式計(jì)算模型,它是一系列標(biāo)準(zhǔn)的綜合(XML,SOAP,UDDI,WSDL和WSFL等)。它使得不同語(yǔ)言編寫(xiě)的軟件能夠輕易的集成起來(lái),使網(wǎng)絡(luò)資源和Web站點(diǎn)變成一種服務(wù)而不是混亂的垃圾場(chǎng)。不遠(yuǎn)的將來(lái),我們就可以在家里點(diǎn)擊一下鼠標(biāo),就可以完成出門(mén)旅游的全部準(zhǔn)備工作,包括定飛機(jī)票,定旅游線路,定好房間等。請(qǐng)注意,這所有的一切都是Web站點(diǎn)間自動(dòng)完成的,再也不用象現(xiàn)在一樣,表面上是電子商務(wù),實(shí)際上很多環(huán)節(jié)都是人工操作。也許你會(huì)覺(jué)得這是天方夜談,不過(guò)就近的說(shuō),你也很有可能承接一個(gè)項(xiàng)目,要集成兩個(gè)企業(yè)的ERP系統(tǒng)。很有可能上游企業(yè)的系統(tǒng)是用Delphi編的,而下游企業(yè)的系統(tǒng)是用Java編的。你說(shuō)你是Java高手,大家都看者你怎么做呢。所以啊,你還得學(xué)習(xí)新技術(shù),如Web服務(wù),而且你Delphi也要懂一點(diǎn)吧(Delphi6現(xiàn)在已經(jīng)提供Web服務(wù)的控件了)。 你編的Java系統(tǒng),可能要和.NET集成,所以你.NET要懂一點(diǎn)吧?到最后,你可能發(fā)現(xiàn)你已經(jīng)成為Java高手了,但很多時(shí)間卻在搞別的技術(shù)。太極張三豐里說(shuō),最厲害的招式就是沒(méi)有招式,可能就是這個(gè)道理吧!
因?yàn)閯倓偱d起,所以網(wǎng)上Web服務(wù)的資料不是很多,我還是給大家推薦幾個(gè)網(wǎng)站吧:
中國(guó)UDDI技術(shù)聯(lián)盟
CSDN的柴曉路專欄 (注:柴曉路也是互聯(lián)網(wǎng)上一個(gè)有名的人物,他發(fā)表過(guò)很多關(guān)于Web服務(wù)的文章,還出了一書(shū),應(yīng)該稱的上是中國(guó)Web服務(wù)技術(shù)的先行者)
IBM的開(kāi)發(fā)者網(wǎng)絡(luò)的XMLWeb Service專欄: IBM可是Web服務(wù)的力推者
按照題目要求編寫(xiě)的用javaBean規(guī)范設(shè)計(jì)的學(xué)生類Student的Java程序如下
需要?jiǎng)?chuàng)建user.java.test包,把Student.java文件和Test.java文件放入包中,編譯Student.java文件并且編譯運(yùn)行Test.java文件得到運(yùn)行結(jié)果
Student.java文件代碼如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "學(xué)號(hào):"+no+",姓名:"+name+",成績(jī):"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代碼如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","張三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","趙六",73.5);
sArray[4]=new Student("005","孫七",66);
System.out.println("這些學(xué)生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}
當(dāng)前名稱:java整理代碼 java一鍵整理格式
文章來(lái)源:http://jinyejixie.com/article34/dosedse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、標(biāo)簽優(yōu)化、網(wǎng)站維護(hù)、域名注冊(cè)、虛擬主機(jī)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)