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

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

java但單代碼 單例java

簡單JAVA代碼

輸出錯了!!!

我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、都勻ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的都勻網(wǎng)站制作公司

第一個類的構(gòu)造方法,請看

public tt(int b) {

b=x;

}

請問,你new出來tt這個類了,x有值了吧?

也就是說你在這里把x賦給了b,但是在第二個方法又無法用到b,也就是說,這個方法毫無用處

請將 b 和x的位置換換,同時,x為成員變量,不需要初始化給值的,是靠你傳參數(shù)的。

第二,請看

public int cc(int b) {

b=x*2;

return b;

}

你可以完全把這個方法里的傳參去掉,應(yīng)為你的x是成員變量,改為

public int cc() {

return x*2;

}

然后在另外一個類里new出來tt,請看,我?guī)湍阈薷牧?/p>

Scanner a =new Scanner(System.in);

int b = a.nextInt();

tt cd =new tt(b);

int sd= cd.cc();

System.out.println(sb);

其實還可以改,

Scanner a =new Scanner(System.in);

tt cd =new tt(a.nextInt());

System.out.println(cd.cc());

求一段簡單的java代碼

不知道是否理解對了你的意思,大概寫了一下:

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.StringReader;

import java.io.StringWriter;

public class FileReadAndWrite {

private static final int DEFAULT_BUFFER_SIZE = 1024;

public static void main(String[] args) {

File file = new File("E:/workspace/FileIOTest/src/a.txt");

String str = file2String(file, "UTF-8");

str = str.replace('d', 'f');

string2File(str,"E:/workspace/FileIOTest/src/b.txt");

System.out.println("處理完畢");

}

/**

* 文本文件轉(zhuǎn)換為指定編碼的字符串

*

* @param file

* 文本文件

* @param encoding

* 編碼類型

* @return 轉(zhuǎn)換后的字符串

* @throws IOException

*/

public static String file2String(File file, String encoding) {

InputStreamReader reader = null;

StringWriter writer = new StringWriter();

try {

if (encoding == null || "".equals(encoding.trim())) {

reader = new InputStreamReader(new FileInputStream(file),

encoding);

} else {

reader = new InputStreamReader(new FileInputStream(file));

}

// 將輸入流寫入輸出流

char[] buffer = new char[DEFAULT_BUFFER_SIZE];

int n = 0;

while (-1 != (n = reader.read(buffer))) {

writer.write(buffer, 0, n);

}

} catch (Exception e) {

e.printStackTrace();

return null;

} finally {

if (reader != null)

try {

reader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

// 返回轉(zhuǎn)換結(jié)果

if (writer != null)

return writer.toString();

else

return null;

}

/**

* 將字符串寫入指定文件(當指定的父路徑中文件夾不存在時,會最大限度去創(chuàng)建,以保證保存成功!)

*

* @param res

* 原字符串

* @param filePath

* 文件路徑

* @return 成功標記

*/

public static boolean string2File(String res, String filePath) {

boolean flag = true;

BufferedReader bufferedReader = null;

BufferedWriter bufferedWriter = null;

try {

File distFile = new File(filePath);

if (!distFile.getParentFile().exists())

distFile.getParentFile().mkdirs();

bufferedReader = new BufferedReader(new StringReader(res));

bufferedWriter = new BufferedWriter(new FileWriter(distFile));

char buf[] = new char[1024]; // 字符緩沖區(qū)

int len;

while ((len = bufferedReader.read(buf)) != -1) {

bufferedWriter.write(buf, 0, len);

}

bufferedWriter.flush();

bufferedReader.close();

bufferedWriter.close();

} catch (IOException e) {

e.printStackTrace();

flag = false;

return flag;

} finally {

if (bufferedReader != null) {

try {

bufferedReader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return flag;

}

}

給段最簡單的java代碼 讓我新手看一下

最簡單的java代碼肯定就是這個了,如下:

public class MyFirstApp

{

public static void main(String[] args)

{

System.out.print("Hello world");

}

}

“hello world”就是應(yīng)該是所有學java的新手看的第一個代碼了。如果是零基礎(chǔ)的新手朋友們可以來我們的java實驗班試聽,有免費的試聽課程幫助學習java必備基礎(chǔ)知識,有助教老師為零基礎(chǔ)的人提供個人學習方案,學習完成后有考評團進行專業(yè)測試,幫助測評學員是否適合繼續(xù)學習java,15天內(nèi)免費幫助來報名體驗實驗班的新手快速入門java,更好的學習java!

求一個簡單又有趣的JAVA小游戲代碼

具體如下:

連連看的小源碼

package Lianliankan;

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; //退出,重列,重新開始按鈕

JLabel fractionLable=new JLabel("0"); //分數(shù)標簽

JButton firstButton,secondButton; //

分別記錄兩次62616964757a686964616fe59b9ee7ad9431333335326239被選中的按鈕

int grid[][] = new int[8][7];//儲存游戲按鈕位置

static boolean pressInformation=false; //判斷是否有按鈕被選中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位置坐標

int i,j,k,n;//消除方法控制

代碼(code)是程序員用開發(fā)工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規(guī)則體系。

對于字符和Unicode數(shù)據(jù)的位模式的定義,此模式代表特定字母、數(shù)字或符號(例如 0x20 代表一個空格,而 0x74 代表字符“t”)。一些數(shù)據(jù)類型每個字符使用一個字節(jié);每個字節(jié)可以具有 256 個不同的位模式中的一個模式。

在計算機中,字符由不同的位模式(ON 或 OFF)表示。每個字節(jié)有 8 位,這 8 位可以有 256 種不同的 ON 和 OFF 組合模式。對于使用 1 個字節(jié)存儲每個字符的程序,通過給每個位模式指派字符可表示最多 256 個不同的字符。2 個字節(jié)有 16 位,這 16 位可以有 65,536 種唯一的 ON 和 OFF 組合模式。使用 2 個字節(jié)表示每個字符的程序可表示最多 65,536 個字符。

單字節(jié)代碼頁是字符定義,這些字符映射到每個字節(jié)可能有的 256 種位模式中的每一種。代碼頁定義大小寫字符、數(shù)字、符號以及 !、@、#、% 等特殊字符的位模式。每種歐洲語言(如德語和西班牙語)都有各自的單字節(jié)代碼頁。

雖然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代碼頁中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代碼頁中卻不同。如果在運行不同代碼頁的計算機間交換數(shù)據(jù),必須將所有字符數(shù)據(jù)由發(fā)送計算機的代碼頁轉(zhuǎn)換為接收計算機的代碼頁。如果源數(shù)據(jù)中的擴展字符在接收計算機的代碼頁中未定義,那么數(shù)據(jù)將丟失。

如果某個數(shù)據(jù)庫為來自許多不同國家的客戶端提供服務(wù),則很難為該數(shù)據(jù)庫選擇這樣一種代碼頁,使其包括所有客戶端計算機所需的全部擴展字符。而且,在代碼頁間不停地轉(zhuǎn)換需要花費大量的處理時間。

java中的單例模式的代碼怎么寫

我從我的博客里把我的文章粘貼過來吧,對于單例模式模式應(yīng)該有比較清楚的解釋:

單例模式在我們?nèi)粘5捻椖恐惺殖R姡斘覀冊陧椖恐行枰粋€這樣的一個對象,這個對象在內(nèi)存中只能有一個實例,這時我們就需要用到單例。

一般說來,單例模式通常有以下幾種:

1.饑漢式單例

public class Singleton {

private Singleton(){};

private static Singleton instance = new Singleton();

public static Singleton getInstance(){

return instance;

}

}

這是最簡單的單例,這種單例最常見,也很可靠!它有個唯一的缺點就是無法完成延遲加載——即當系統(tǒng)還沒有用到此單例時,單例就會被加載到內(nèi)存中。

在這里我們可以做個這樣的測試:

將上述代碼修改為:

public class Singleton {

private Singleton(){

System.out.println("createSingleton");

};

private static Singleton instance = new Singleton();

public static Singleton getInstance(){

return instance;

}

public static void testSingleton(){

System.out.println("CreateString");

}

}

而我們在另外一個測試類中對它進行測試(本例所有測試都通過Junit進行測試)

public class TestSingleton {

@Test

public void test(){

Singleton.testSingleton();

}

}

輸出結(jié)果:

createSingleton

CreateString

我們可以注意到,在這個單例中,即使我們沒有使用單例類,它還是被創(chuàng)建出來了,這當然是我們所不愿意看到的,所以也就有了以下一種單例。

2.懶漢式單例

public class Singleton1 {

private Singleton1(){

System.out.println("createSingleton");

}

private static Singleton1 instance = null;

public static synchronized Singleton1 getInstance(){

return instance==null?new Singleton1():instance;

}

public static void testSingleton(){

System.out.println("CreateString");

}

}

上面的單例獲取實例時,是需要加上同步的,如果不加上同步,在多線程的環(huán)境中,當線程1完成新建單例操作,而在完成賦值操作之前,線程2就可能判

斷instance為空,此時,線程2也將啟動新建單例的操作,那么多個就出現(xiàn)了多個實例被新建,也就違反了我們使用單例模式的初衷了。

我們在這里也通過一個測試類,對它進行測試,最后面輸出是

CreateString

可以看出,在未使用到單例類時,單例類并不會加載到內(nèi)存中,只有我們需要使用到他的時候,才會進行實例化。

這種單例解決了單例的延遲加載,但是由于引入了同步的關(guān)鍵字,因此在多線程的環(huán)境下,所需的消耗的時間要遠遠大于第一種單例。我們可以通過一段測試代碼來說明這個問題。

public class TestSingleton {

@Test

public void test(){

long beginTime1 = System.currentTimeMillis();

for(int i=0;i100000;i++){

Singleton.getInstance();

}

System.out.println("單例1花費時間:"+(System.currentTimeMillis()-beginTime1));

long beginTime2 = System.currentTimeMillis();

for(int i=0;i100000;i++){

Singleton1.getInstance();

}

System.out.println("單例2花費時間:"+(System.currentTimeMillis()-beginTime2));

}

}

最后輸出的是:

單例1花費時間:0

單例2花費時間:10

可以看到,使用第一種單例耗時0ms,第二種單例耗時10ms,性能上存在明顯的差異。為了使用延遲加載的功能,而導致單例的性能上存在明顯差異,

是不是會得不償失呢?是否可以找到一種更好的解決的辦法呢?既可以解決延遲加載,又不至于性能損耗過多,所以,也就有了第三種單例:

3.內(nèi)部類托管單例

public class Singleton2 {

private Singleton2(){}

private static class SingletonHolder{

private static Singleton2 instance=new Singleton2();

}

private static Singleton2 getInstance(){

return SingletonHolder.instance;

}

}

在這個單例中,我們通過靜態(tài)內(nèi)部類來托管單例,當這個單例被加載時,不會初始化單例類,只有當getInstance方法被調(diào)用的時候,才會去加載

SingletonHolder,從而才會去初始化instance。并且,單例的加載是在內(nèi)部類的加載的時候完成的,所以天生對線程友好,而且也不需要

synchnoized關(guān)鍵字,可以說是兼具了以上的兩個優(yōu)點。

4.總結(jié)

一般來說,上述的單例已經(jīng)基本可以保證在一個系統(tǒng)中只會存在一個實例了,但是,仍然可能會有其他的情況,導致系統(tǒng)生成多個單例,請看以下情況:

public class Singleton3 implements Serializable{

private Singleton3(){}

private static class SingletonHolder{

private static Singleton3 instance = new Singleton3();

}

public static Singleton3 getInstance(){

return SingletonHolder.instance;

}

}

通過一段代碼來測試:

@Test

public void test() throws Exception{

Singleton3 s1 = null;

Singleton3 s2 = Singleton3.getInstance();

//1.將實例串行話到文件

FileOutputStream fos = new FileOutputStream("singleton.txt");

ObjectOutputStream oos =new ObjectOutputStream(fos);

oos.writeObject(s2);

oos.flush();

oos.close();

//2.從文件中讀取出單例

FileInputStream fis = new FileInputStream("singleton.txt");

ObjectInputStream ois = new ObjectInputStream(fis);

s1 = (Singleton3) ois.readObject();

if(s1==s2){

System.out.println("同一個實例");

}else{

System.out.println("不是同一個實例");

}

}

輸出:

不是同一個實例

可以看到當我們把單例反序列化后,生成了多個不同的單例類,此時,我們必須在原來的代碼中加入readResolve()函數(shù),來阻止它生成新的單例

public class Singleton3 implements Serializable{

private Singleton3(){}

private static class SingletonHolder{

private static Singleton3 instance = new Singleton3();

}

public static Singleton3 getInstance(){

return SingletonHolder.instance;

}

//阻止生成新的實例

public Object readResolve(){

return SingletonHolder.instance;

}

}

再次測試時,就可以發(fā)現(xiàn)他們生成的是同一個實例了。

java簡單的代碼

原來File fDir=new File("D://");是這樣的File fDir=new File(File.separator); 我改了 但是還是不行 啊?;卮穑?import java.io.File; public class NewClass7 { public static void main(String[] args) throws Exception{ File fDir=new File("F://");//分隔符 separator String strFile="sg"+File.separator+"DT"+File.separator+"1.txt"; File f=new File(fDir,strFile); f.createNewFile();}}當然,如果按照你這段代碼,你要確保目標盤上得有sg/DT這兩個目錄,否則你就要在代碼里創(chuàng)建這兩個目錄了。補充: 看我修改后的代碼,必須引用java.io.File類,你原來代碼中沒有,還有,你要確保目標盤上得有sg/DT這兩個目錄。追問: 我多問一句。這段代碼 屬于J2EE 吧?回答: 不能這樣說,J2EE是JAVA體系的一部份,是一種JAVA應(yīng)用開發(fā)的技術(shù)架構(gòu)。你這段代碼只是一段JAVA的基礎(chǔ)代碼。


分享題目:java但單代碼 單例java
本文網(wǎng)址:http://weahome.cn/article/hejhhj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部