java浪漫的源代碼 java程序源代碼

java代碼解析

一樓的說的夠全面了,不過稍有誤解.

網(wǎng)站設(shè)計(jì)制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了10余年的創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。

再來表示抱歉,我對(duì)編程語言中的中文名詞非常不了解,所以如果以下的回復(fù)對(duì)你的閱讀或者理解造成困難,請(qǐng)見諒.

1.首先,要明白這個(gè)問題的答案,需要了解call?(pass)?by?value?和?call?(pass)?by?reference?的區(qū)別.簡(jiǎn)單來說:

call?by?value通常是復(fù)制這個(gè)parameter的值去另外一塊內(nèi)存里,然后傳給function,?所以在method/function里邊對(duì)這個(gè)變量的所有變更,實(shí)際上都是對(duì)復(fù)制過來的鏡像進(jìn)行操作,不會(huì)對(duì)原本的variable有任何影響.

call?by?reference是將parameter的reference傳給function,簡(jiǎn)單點(diǎn)理解就是直接把variable傳給function.所以說這個(gè)variable的值是可以被function改變的.這個(gè)用法在c/c++中非常常見,用法是variable_name.

2.再來,在Java里邊,你可以很簡(jiǎn)單的理解為:?Java中只有call?by?value,?也就是說,所以所有傳給function的parameter本身都不會(huì)被改變.?(這是最簡(jiǎn)單直白的理解,當(dāng)然也有另一種常從sun的人那邊聽到的說法:Java是call?by?value?+?call?by?reference?by?value)

3.那么現(xiàn)在的問題就是為什么第二個(gè)結(jié)果是2了.?首先說一下sun官方的解釋:?對(duì)于reference?type在作為parameter/argument的時(shí)候,也是call?by?value,?但是在你擁有足夠權(quán)限時(shí)(比方說那個(gè)變量是public的,?不是final的等等各種符合的情況),可以修改這個(gè)object中fields的值(也就是屬于這個(gè)object(嚴(yán)謹(jǐn)點(diǎn)講是an?instance?of?the?object)?內(nèi)部的變量,?在你的例子中,?ko?里邊的?a?就是一個(gè)field,?所以u(píng)pdate(ko)會(huì)使ko.a變成2).

4.如果你是一個(gè)有過c/c++學(xué)習(xí)經(jīng)驗(yàn)的人或者你以上的解釋很難理解,以下這種說法或許更適合你?(當(dāng)然了,這只是大多包括我在內(nèi)有c經(jīng)驗(yàn)的人的一種理解方式)

這里可以引入一個(gè)新的概念,pointer.?這是一種比較特殊的變量,它內(nèi)部所儲(chǔ)存的東西,其實(shí)只是另外一個(gè)變量的內(nèi)存地址.?如果對(duì)內(nèi)存沒有概念,你可以把它簡(jiǎn)單理解為是風(fēng)箏的線軸,雖然看它本身看不出什么端倪,但是順著摸過去總會(huì)找到風(fēng)箏,看到它是什么樣子.?以pointer方式理解Java的人,通常會(huì)說:?Type?variable?=?new?Type();?這個(gè)過程中,最后生成的這個(gè)variable其實(shí)就是一個(gè)pointer,而不是instance本身.

在Java中,?有c/c++經(jīng)驗(yàn)的人通常認(rèn)為Java是call?by?value.同時(shí),當(dāng)一個(gè)變量用在儲(chǔ)存reference?type的時(shí)候,實(shí)際上儲(chǔ)存的是它的pointer,這也一樣可以解釋為什么ko.a會(huì)有2這個(gè)結(jié)果,因?yàn)殡m然pointer被傳到function里邊時(shí),本身是call?by?value,無法被改變.但這并不影響function本身對(duì)這個(gè)pointer指向的object的內(nèi)容做任何改變.?當(dāng)然,再次聲明,這只是一種幫助有c/c++經(jīng)驗(yàn)的人理解的方法.?Sun本身嚴(yán)正聲明Java里邊沒有pointer這個(gè)東西的存在.

5.?再來解釋一下為什么說樓上所說的(或者說樓上引用的)理解略有偏差.

引用"我們上面剛學(xué)習(xí)了JAVA的數(shù)據(jù)類型,則有:值類型就是按值傳遞的,而引用類型是按引用傳遞的"?這句話很明顯的有兩點(diǎn)錯(cuò)誤.?第一點(diǎn),如果我上面所說的,Java是沒有call?by?reference的.

第二點(diǎn),暫且假設(shè)Java里邊是有call?by?reference的,?這句話依然不成立.

Java中的變量有兩種類型:?primitive?types?和?reference?type.

primitive?type包括byte,?short,?int,?long,?char,?boolean,?float和double.

而這8種之外的所有的,都是reference?type.

下面是一段對(duì)你的貼上來的code的一點(diǎn)延伸,希望可以幫助你更好的理解Java中的argument?/?parameter到底是如何運(yùn)作的.

public?class?Test?{

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

int?a?=?1;

Koo?koo?=?new?Koo();

Object?o?=?new?Integer(1);

Koo?newKoo?=?new?Koo();

update(a);

update(koo);

update(o);

update(newKoo);

newUpdate(newKoo);

System.out.println(a);

System.out.println(koo.a);

System.out.println(o);

System.out.println(newKoo.a);

}

static?void?update(int?a)?{

a++;

}

static?void?update(Koo?koo)?{

koo.a++;

}

static?void?update(Object?o)?{

o?=?(int)?(Integer.parseInt(o.toString())?+?1);

}

static?void?newUpdate(Koo?koo)?{

koo?=?new?Koo();

}

}

class?Koo?{

int?a?=?1;

}

/*

o?=?(int)?(Integer.parseInt(o.toString())?+?1);?這一行中的(int)純粹是多余的,是否有這個(gè)casting對(duì)code本身沒有任何影響.?如果你高興也可以用

o?=?new?Integer(Integer.parseInt(o.toString())?+?1);

或者干脆

o?=?Integer.parseInt(o.toString())?+?1;

*/

以上這些code運(yùn)行之后會(huì)得到1?2?1?2的結(jié)果.?后面兩個(gè)結(jié)果可以很好的說明,?即使對(duì)objects?(reference?type?variables)?來看,?Java所應(yīng)用的也并不是call?by?reference.?否則的話,以上code運(yùn)行結(jié)果應(yīng)該是1?2?2?1

希望你可以真正理解這個(gè)新的例子中,產(chǎn)生1212這個(gè)結(jié)果的原因,從而對(duì)Java中的arguments有一個(gè)系統(tǒng)全面的認(rèn)識(shí).

圖片是相關(guān)資料的鏈接,知道里貌似不能加網(wǎng)址

跪求游戲java源代碼

給你一個(gè)俄羅斯方塊的把!!

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import javax.swing.*;

import javax.swing.Timer;

public class Tetris extends JFrame {

public Tetris() {

Tetrisblok a = new Tetrisblok();

addKeyListener(a);

add(a);

}

public static void main(String[] args) {

Tetris frame = new Tetris();

JMenuBar menu = new JMenuBar();

frame.setJMenuBar(menu);

JMenu game = new JMenu("游戲");

JMenuItem newgame = game.add("新游戲");

JMenuItem pause = game.add("暫停");

JMenuItem goon = game.add("繼續(xù)");

JMenuItem exit = game.add("退出");

JMenu help = new JMenu("幫助");

JMenuItem about = help.add("關(guān)于");

menu.add(game);

menu.add(help);

frame.setLocationRelativeTo(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setSize(220, 275);

frame.setTitle("Tetris內(nèi)測(cè)版");

// frame.setUndecorated(true);

frame.setVisible(true);

frame.setResizable(false);

}

}

// 創(chuàng)建一個(gè)俄羅斯方塊類

class Tetrisblok extends JPanel implements KeyListener {

// blockType 代表方塊類型

// turnState代表方塊狀態(tài)

private int blockType;

private int score = 0;

private int turnState;

private int x;

private int y;

private int i = 0;

int j = 0;

int flag = 0;

// 定義已經(jīng)放下的方塊x=0-11,y=0-21;

int[][] map = new int[13][23];

// 方塊的形狀 第一組代表方塊類型有S、Z、L、J、I、O、T 7種 第二組 代表旋轉(zhuǎn)幾次 第三四組為 方塊矩陣

private final int shapes[][][] = new int[][][] {

// i

{ { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 },

{ 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 } },

// s

{ { 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },

{ 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },

// z

{ { 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } },

// j

{ { 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },

{ 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },

// o

{ { 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },

// l

{ { 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },

// t

{ { 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 } } };

// 生成新方塊的方法

public void newblock() {

blockType = (int) (Math.random() * 1000) % 7;

turnState = (int) (Math.random() * 1000) % 4;

x = 4;

y = 0;

if (gameover(x, y) == 1) {

newmap();

drawwall();

score = 0;

JOptionPane.showMessageDialog(null, "GAME OVER");

}

}

// 畫圍墻

public void drawwall() {

for (i = 0; i 12; i++) {

map[i][21] = 2;

}

for (j = 0; j 22; j++) {

map[11][j] = 2;

map[0][j] = 2;

}

}

// 初始化地圖

public void newmap() {

for (i = 0; i 12; i++) {

for (j = 0; j 22; j++) {

map[i][j] = 0;

}

}

}

// 初始化構(gòu)造方法

Tetrisblok() {

newblock();

newmap();

drawwall();

Timer timer = new Timer(1000, new TimerListener());

timer.start();

}

// 旋轉(zhuǎn)的方法

public void turn() {

int tempturnState = turnState;

turnState = (turnState + 1) % 4;

if (blow(x, y, blockType, turnState) == 1) {

}

if (blow(x, y, blockType, turnState) == 0) {

turnState = tempturnState;

}

repaint();

}

// 左移的方法

public void left() {

if (blow(x - 1, y, blockType, turnState) == 1) {

x = x - 1;

}

;

repaint();

}

// 右移的方法

public void right() {

if (blow(x + 1, y, blockType, turnState) == 1) {

x = x + 1;

}

;

repaint();

}

// 下落的方法

public void down() {

if (blow(x, y + 1, blockType, turnState) == 1) {

y = y + 1;

delline();

}

;

if (blow(x, y + 1, blockType, turnState) == 0) {

add(x, y, blockType, turnState);

newblock();

delline();

}

;

repaint();

}

// 是否合法的方法

public int blow(int x, int y, int blockType, int turnState) {

for (int a = 0; a 4; a++) {

for (int b = 0; b 4; b++) {

if (((shapes[blockType][turnState][a * 4 + b] == 1) (map[x

+ b + 1][y + a] == 1))

|| ((shapes[blockType][turnState][a * 4 + b] == 1) (map[x

+ b + 1][y + a] == 2))) {

return 0;

}

}

}

return 1;

}

// 消行的方法

public void delline() {

int c = 0;

for (int b = 0; b 22; b++) {

for (int a = 0; a 12; a++) {

if (map[a][b] == 1) {

c = c + 1;

if (c == 10) {

score += 10;

for (int d = b; d 0; d--) {

for (int e = 0; e 11; e++) {

map[e][d] = map[e][d - 1];

}

}

}

}

}

c = 0;

}

}

// 判斷你掛的方法

public int gameover(int x, int y) {

if (blow(x, y, blockType, turnState) == 0) {

return 1;

}

return 0;

}

// 把當(dāng)前添加map

public void add(int x, int y, int blockType, int turnState) {

int j = 0;

for (int a = 0; a 4; a++) {

for (int b = 0; b 4; b++) {

if (map[x + b + 1][y + a] == 0) {

map[x + b + 1][y + a] = shapes[blockType][turnState][j];

}

;

j++;

}

}

}

// 畫方塊的的方法

public void paintComponent(Graphics g) {

super.paintComponent(g);

// 畫當(dāng)前方塊

for (j = 0; j 16; j++) {

if (shapes[blockType][turnState][j] == 1) {

g.fillRect((j % 4 + x + 1) * 10, (j / 4 + y) * 10, 10, 10);

}

}

// 畫已經(jīng)固定的方塊

for (j = 0; j 22; j++) {

for (i = 0; i 12; i++) {

if (map[i][j] == 1) {

g.fillRect(i * 10, j * 10, 10, 10);

}

if (map[i][j] == 2) {

g.drawRect(i * 10, j * 10, 10, 10);

}

}

}

g.drawString("score=" + score, 125, 10);

g.drawString("抵制不良游戲,", 125, 50);

g.drawString("拒絕盜版游戲。", 125, 70);

g.drawString("注意自我保護(hù),", 125, 90);

g.drawString("謹(jǐn)防受騙上當(dāng)。", 125, 110);

g.drawString("適度游戲益腦,", 125, 130);

g.drawString("沉迷游戲傷身。", 125, 150);

g.drawString("合理安排時(shí)間,", 125, 170);

g.drawString("享受健康生活。", 125, 190);

}

// 鍵盤監(jiān)聽

public void keyPressed(KeyEvent e) {

switch (e.getKeyCode()) {

case KeyEvent.VK_DOWN:

down();

break;

case KeyEvent.VK_UP:

turn();

break;

case KeyEvent.VK_RIGHT:

right();

break;

case KeyEvent.VK_LEFT:

left();

break;

}

}

// 無用

public void keyReleased(KeyEvent e) {

}

// 無用

public void keyTyped(KeyEvent e) {

}

// 定時(shí)器監(jiān)聽

class TimerListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

repaint();

if (blow(x, y + 1, blockType, turnState) == 1) {

y = y + 1;

delline();

}

;

if (blow(x, y + 1, blockType, turnState) == 0) {

if (flag == 1) {

add(x, y, blockType, turnState);

delline();

newblock();

flag = 0;

}

flag = 1;

}

;

}

}

}

求一個(gè)用JAVA寫的簡(jiǎn)單的記事本源代碼程序

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.awt.datatransfer.*;

class MyMenuBar extends MenuBar{

public MyMenuBar(Frame parent){

parent.setMenuBar(this);

}

public void addMenus(String [] menus){

for(int i=0;imenus.length;i++)

add(new Menu(menus[i]));

}

public void addMenuItems(int menuNumber,String[] items){

for(int i=0;iitems.length;i++){

if(items[i]!=null)

getMenu(menuNumber).add(new MenuItem(items[i]));

else getMenu(menuNumber).addSeparator();

}

}

public void addActionListener(ActionListener al){

for(int i=0;igetMenuCount();i++)

for(int j=0;jgetMenu(i).getItemCount();j++)

getMenu(i).getItem(j).addActionListener(al);

}

}

class MyFile{

private FileDialog fDlg;

public MyFile(Frame parent){

fDlg=new FileDialog(parent,"",FileDialog.LOAD);

}

private String getPath(){

return fDlg.getDirectory()+"\\"+fDlg.getFile();

}

public String getData() throws IOException{

fDlg.setTitle("打開");

fDlg.setMode(FileDialog.LOAD);

fDlg.setVisible(true);

BufferedReader br=new BufferedReader(new FileReader(getPath()));

StringBuffer sb=new StringBuffer();

String aline;

while((aline=br.readLine())!=null)

sb.append(aline+'\n');

br.close();

return sb.toString();

}

public void setData(String data) throws IOException{

fDlg.setTitle("保存");

fDlg.setMode(FileDialog.SAVE);

fDlg.setVisible(true);

BufferedWriter bw=new BufferedWriter(new FileWriter(getPath()));

bw.write(data);

bw.close();

}

}

class MyClipboard{

private Clipboard cb;

public MyClipboard(){

cb=Toolkit.getDefaultToolkit().getSystemClipboard();

}

public void setData(String data){

cb.setContents(new StringSelection(data),null);

}

public String getData(){

Transferable content=cb.getContents(null);

try{

return (String) content.getTransferData(DataFlavor.stringFlavor);

//DataFlavor.stringFlavor會(huì)將剪貼板中的字符串轉(zhuǎn)換成Unicode碼形式的String對(duì)象。

//DataFlavor類是與存儲(chǔ)在剪貼板上的數(shù)據(jù)的形式有關(guān)的類。

}catch(Exception ue){}

return null;

}

}

class MyFindDialog extends Dialog implements ActionListener{

private Label lFind=new Label("查找字符串");

private Label lReplace=new Label("替換字符串");

private TextField tFind=new TextField(10);

private TextField tReplace=new TextField(10);

private Button bFind=new Button("查找");

private Button bReplace=new Button("替換");

private TextArea ta;

public MyFindDialog(Frame owner,TextArea ta){

super(owner,"查找",false);

this.ta=ta;

setLayout(null);

lFind.setBounds(10,30,80,20);

lReplace.setBounds(10,70,80,20);

tFind.setBounds(90,30,90,20);

tReplace.setBounds(90,70,90,20);

bFind.setBounds(190,30,80,20);

bReplace.setBounds(190,70,80,20);

add(lFind);

add(tFind);

add(bFind);

add(lReplace);

add(tReplace);

add(bReplace);

setResizable(false);

bFind.addActionListener(this);

bReplace.addActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

MyFindDialog.this.dispose();

}

});

}//構(gòu)造函數(shù)結(jié)束

public void showFind(){

setTitle("查找");

setSize(280,60);

setVisible(true);

}

public void showReplace(){

setTitle("查找替換");

setSize(280,110);

setVisible(true);

}

private void find(){

String text=ta.getText();

String str=tFind.getText();

int end=text.length();

int len=str.length();

int start=ta.getSelectionEnd();

if(start==end) start=0;

for(;start=end-len;start++){

if(text.substring(start,start+len).equals(str)){

ta.setSelectionStart(start);

ta.setSelectionEnd(start+len);

return;

}

}

//若找不到待查字符串,則將光標(biāo)置于末尾

ta.setSelectionStart(end);

ta.setSelectionEnd(end);

}

public Button getBFind() {

return bFind;

}

private void replace(){

String str=tReplace.getText();

if(ta.getSelectedText().equals(tFind.getText()))

ta.replaceRange(str,ta.getSelectionStart(),ta.getSelectionEnd());

else find();

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==bFind)

find();

else if(e.getSource()==bReplace)

replace();

}

}

public class MyMemo extends Frame implements ActionListener{

private TextArea editor=new TextArea(); //可編輯的TextArea

private MyFile mf=new MyFile(this);//MyFile對(duì)象

private MyClipboard cb=new MyClipboard();

private MyFindDialog findDlg=new MyFindDialog(this,editor);

public MyMemo(String title){ //構(gòu)造函數(shù)

super(title);

MyMenuBar mb=new MyMenuBar(this);

//添加需要的菜單及菜單項(xiàng)

mb.addMenus(new String[]{"文件","編輯","查找","幫助"});

mb.addMenuItems(0,new String[]{"新建","打開","保存",null,"全選"});

mb.addMenuItems(1,new String[]{"剪貼","復(fù)制","粘貼","清除",null,"全選"});

mb.addMenuItems(2,new String[]{"查找",null,"查找替換"});

mb.addMenuItems(3,new String[]{"我的記事本信息"});

add(editor); //為菜單項(xiàng)注冊(cè)動(dòng)作時(shí)間監(jiān)聽器

mb.addActionListener(this);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

MyMemo.this.dispose();

}

}); //分號(hào)不能忘了

} //構(gòu)造函數(shù)完

public void actionPerformed(ActionEvent e){

String selected=e.getActionCommand(); //獲取菜單項(xiàng)標(biāo)題

if(selected.equals("新建"))

editor.setText("");

else if(selected.equals("打開")){

try{

editor.setText(mf.getData());

}catch(IOException ie){}

}

else if(selected.equals("保存")){

try{

mf.setData(editor.getText());

}catch(IOException ie){}

}

else if(selected.equals("退出")){

dispose();

}

else if(selected.equals("剪貼")){

//將選中的字符串復(fù)制到剪貼板中并清除字符串

cb.setData(editor.getSelectedText());

editor.replaceRange("",editor.getSelectionStart(),editor.getSelectionEnd());

}

else if(selected.equals("復(fù)制")){

cb.setData(editor.getSelectedText());

}

else if(selected.equals("粘貼")){

String str=cb.getData();

editor.replaceRange(str,editor.getSelectionStart(),editor.getSelectionEnd());

//粘貼在光標(biāo)位置

}

else if(selected.equals("清除")){

editor.replaceRange("",editor.getSelectionStart(),editor.getSelectionEnd());

}

else if(selected.equals("全選")){

editor.setSelectionStart(0);

editor.setSelectionEnd(editor.getText().length());

}

else if(selected.equals("查找")){

findDlg.showFind();

}

else if(selected.equals("查找替換")){

findDlg.showReplace();

}

}

public static void main(String[] args){

MyMemo memo=new MyMemo("記事本");

memo.setSize(650,450);

memo.setVisible(true);

}

}

Java相關(guān)問題,求助源代碼

第一種

package com.at.java;

class PIThread extends Thread{

public void run(){

double num=1,PI=0;int i=0;

while(num0.001) {

num=(double)4/(2*i+++1);

if(i%2==0)PI-=num;

else PI+=num;

System.out.println("派的數(shù)值為"+PI);

if(num=0.001)System.out.println("××××××××××派的數(shù)值計(jì)算已經(jīng)結(jié)束××××××××××");

}

}

}

class EThread extends Thread{

public void run(){

double num=1,E=0;int i=1;

while(1/num0.00000001) {

num=num*i++;

E+=1/num;

System.out.println("自然對(duì)數(shù)E的數(shù)值為"+E);

if(1/num=0.00000001)System.out.println("××××××××××自然對(duì)數(shù)的數(shù)值計(jì)算已經(jīng)結(jié)束××××××××××");

}

}

}

public class JustTest {

public static void main(String args[]) {

PIThread p=new PIThread();

EThread e=new EThread();

p.start();

e.start();

int sum=0;

for(int i=1;i1001;i++)

{

sum+=i;

System.out.println(sum);

}

System.out.println("×××××××××××××自動(dòng)求和1到1000已經(jīng)結(jié)束××××××××××××××××");

}

}

第二種

package com.at.java;

class PIThread implements Runnable{

public void run(){

double num=1,PI=0;int i=0;

while(num0.001) {

num=(double)4/(2*i+++1);

if(i%2==0)PI-=num;

else PI+=num;

System.out.println("派的數(shù)值為"+PI);

if(num=0.001)System.out.println("××××××××××派的數(shù)值計(jì)算已經(jīng)結(jié)束××××××××××");

}

}

}

class EThread implements Runnable{

public void run(){

double num=1,E=0;int i=1;

while(1/num0.00000001) {

num=num*i++;

E+=1/num;

System.out.println("自然對(duì)數(shù)E的數(shù)值為"+E);

if(1/num=0.00000001)System.out.println("××××××××××自然對(duì)數(shù)的數(shù)值計(jì)算已經(jīng)結(jié)束××××××××××");

}

}

}

public class JustTest {

public static void main(String args[]) {

PIThread p=new PIThread();

EThread e=new EThread();

Thread t1=new Thread(p);

Thread t2=new Thread(e);

t1.start();

t2.start();

int sum=0;

for(int i=1;i1001;i++)

{

sum+=i;

System.out.println(sum);

}

System.out.println("×××××××××××××自動(dòng)求和1到1000已經(jīng)結(jié)束××××××××××××××××");

}

}

都已經(jīng)驗(yàn)證過,正常運(yùn)行

java簡(jiǎn)單記事本源代碼 帶解釋

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

class test implements ActionListener

{

JFrame frame;

JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16,b17,b18,b19,b20,b21,b22,b23,b24,b25,b26,b27,b28,b29,b30,b31;

JTextArea ta;

JPanel p1,p2,p3,p4;

JMenuBar mb;

JMenu m1,m2,m3;

JMenuItem mt1,mt2,mt3,mt4,mt5,mt6,mt7;

JRadioButton rb1,rb2;

ButtonGroup bg;

Double d1=0.0,d2=0.0,d3=0.0,d4=1.0,d5=1.0;

String s1="",s2="",s3="",s4="";

int a=0;

char c1;

int i=0;

public static void main(String[] args)

{

test that=new test();

that.go();

}

public void go()

{

frame=new JFrame("計(jì)算器");

Container cp= frame.getContentPane();

cp.setLayout(new FlowLayout());

b1=new JButton("7");b2=new JButton("8");b3=new JButton("9");b4=new JButton("/");b5=new JButton("1/x");b6=new JButton("sin");b7=new JButton("log");

b8=new JButton("4");b9=new JButton("5");b10=new JButton("6");b11=new JButton("*");b12=new JButton("x^y");b13=new JButton("cos");b14=new JButton("ln");

b15=new JButton("1");b16=new JButton("2");b17=new JButton("3");b18=new JButton("-");b19=new JButton(new ImageIcon("lanying.gif"));b20=new JButton("tan");b21=new JButton("x^3");

b22=new JButton("0");b23=new JButton("+/-");b24=new JButton(".");b25=new JButton("+");b26=new JButton("√x");b27=new JButton("cot");b28=new JButton("x^2");

b29=new JButton("Backspace");b30=new JButton("C");b31=new JButton("=");

mb=new JMenuBar();

m1=new JMenu("文件(F)");m2=new JMenu("編輯(E)");m3=new JMenu("幫助(H)");

mt1=new JMenuItem("清零");mt2=new JMenuItem("退出");mt3=new JMenuItem("復(fù)制");mt4=new JMenuItem("粘貼");mt5=new JMenuItem("版本");mt6=new JMenuItem("標(biāo)準(zhǔn)型");mt7=new JMenuItem("科學(xué)型");

ta=new JTextArea(1,30);

p1=new JPanel();p2=new JPanel();p3=new JPanel();p4=new JPanel();

rb1=new JRadioButton("科學(xué)型");rb2=new JRadioButton("標(biāo)準(zhǔn)型");

bg=new ButtonGroup();

b1.setForeground(Color.blue);b1.setBackground(Color.white);b2.setForeground(Color.blue);b2.setBackground(Color.white);

b3.setForeground(Color.blue);b3.setBackground(Color.white);b8.setForeground(Color.blue);b8.setBackground(Color.white);

b9.setForeground(Color.blue);b9.setBackground(Color.white);b10.setForeground(Color.blue);b10.setBackground(Color.white);

b15.setForeground(Color.blue);b15.setBackground(Color.white);b16.setForeground(Color.blue);b16.setBackground(Color.white);

b17.setForeground(Color.blue);b17.setBackground(Color.white);b22.setForeground(Color.blue);b22.setBackground(Color.white);

b23.setForeground(Color.blue);b23.setBackground(Color.white);b24.setForeground(Color.blue);b24.setBackground(Color.white);

b4.setForeground(Color.red);b4.setBackground(Color.white);b11.setForeground(Color.red);b11.setBackground(Color.white);

b18.setForeground(Color.red);b18.setBackground(Color.white);b25.setForeground(Color.red);b25.setBackground(Color.white);

b5.setForeground(Color.blue);b5.setBackground(Color.white);b6.setForeground(Color.blue);b6.setBackground(Color.white);

b7.setForeground(Color.blue);b7.setBackground(Color.white);b12.setForeground(Color.blue);b12.setBackground(Color.white);

b13.setForeground(Color.blue);b13.setBackground(Color.white);b14.setForeground(Color.blue);b14.setBackground(Color.white);

b19.setForeground(Color.blue);b19.setBackground(Color.white);b20.setForeground(Color.blue);b20.setBackground(Color.white);

b21.setForeground(Color.blue);b21.setBackground(Color.white);b26.setForeground(Color.blue);b26.setBackground(Color.white);

b27.setForeground(Color.blue);b27.setBackground(Color.white);b28.setForeground(Color.blue);b28.setBackground(Color.white);

b29.setForeground(Color.red);b29.setBackground(Color.white);b30.setForeground(Color.red);b30.setBackground(Color.white);

b31.setForeground(Color.red);b31.setBackground(Color.white);

bg.add(rb1);bg.add(rb2);

p1.setBackground(Color.yellow);

cp.setBackground(Color.CYAN);

m1.setMnemonic(KeyEvent.VK_F);m2.setMnemonic(KeyEvent.VK_E);m3.setMnemonic(KeyEvent.VK_H);

m1.add(mt6);m1.add(mt7);m1.addSeparator();m1.add(mt1);m1.addSeparator();m1.add(mt2);m2.add(mt3);m2.addSeparator();m2.add(mt4);m3.add(mt5);

mb.add(m1);mb.add(m2);mb.add(m3);

frame.setJMenuBar(mb);

p2.setLayout(new GridLayout(4,7));

p3.setLayout(new GridLayout(1,3));

ta.setEditable(false);

p1.add(ta);

p2.add(b1);p2.add(b2);p2.add(b3);p2.add(b4);p2.add(b5);p2.add(b6);p2.add(b7);

p2.add(b8);p2.add(b9);p2.add(b10);p2.add(b11);p2.add(b12);p2.add(b13);p2.add(b14);

p2.add(b15);p2.add(b16);p2.add(b17);p2.add(b18);p2.add(b19);p2.add(b20);p2.add(b21);

p2.add(b22);p2.add(b23);p2.add(b24);p2.add(b25);p2.add(b26);p2.add(b27);p2.add(b28);

p3.add(b29);p3.add(b30);p3.add(b31);

Border etched=BorderFactory.createEtchedBorder();

Border border=BorderFactory.createTitledBorder(etched,"計(jì)算類型");

p4.add(rb1);p4.add(rb2);

p4.setBorder(border);

b2.setActionCommand("8");

b2.addActionListener(this);

cp.add(p1);cp.add(p4);cp.add(p2);cp.add(p3);

frame.setSize(400,330);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

b1.setActionCommand("7");

b1.addActionListener(this);

b2.setActionCommand("8");

b2.addActionListener(this);

b3.setActionCommand("9");

b3.addActionListener(this);

b4.setActionCommand("/");

b4.addActionListener(this);

b5.setActionCommand("1/x");

b5.addActionListener(this);

b6.setActionCommand("sin");

b6.addActionListener(this);

b7.setActionCommand("log");

b7.addActionListener(this);

b8.setActionCommand("4");

b8.addActionListener(this);

b9.setActionCommand("5");

b9.addActionListener(this);

b10.setActionCommand("6");

b10.addActionListener(this);

b11.setActionCommand("*");

b11.addActionListener(this);

b12.setActionCommand("x^y");

b12.addActionListener(this);

b13.setActionCommand("cos");

b13.addActionListener(this);

b14.setActionCommand("ln");

b14.addActionListener(this);

b15.setActionCommand("1");

b15.addActionListener(this);

b16.setActionCommand("2");

b16.addActionListener(this);

b17.setActionCommand("3");

b17.addActionListener(this);

b18.setActionCommand("-");

b18.addActionListener(this);

b19.setActionCommand("x!");

b19.addActionListener(this);

b20.setActionCommand("tan");

b20.addActionListener(this);

b21.setActionCommand("x^3");

b21.addActionListener(this);

b22.setActionCommand("0");

b22.addActionListener(this);

b23.setActionCommand("+/-");

b23.addActionListener(this);

b24.setActionCommand(".");

b24.addActionListener(this);

b25.setActionCommand("+");

b25.addActionListener(this);

b26.setActionCommand("√x");

b26.addActionListener(this);

b27.setActionCommand("cot");

b27.addActionListener(this);

b28.setActionCommand("x^2");

b28.addActionListener(this);

b29.setActionCommand("Backspace");

b29.addActionListener(this);

b30.setActionCommand("C");

b30.addActionListener(this);

b31.setActionCommand("=");

b31.addActionListener(this);

rb1.setActionCommand("kxx");

rb1.addActionListener(this);

rb2.setActionCommand("bzx");

rb2.addActionListener(this);

}

public void actionPerformed(ActionEvent e) //throws Exception

{

if (e.getActionCommand()=="bzx")

{

b5.setEnabled(false);b6.setEnabled(false);b7.setEnabled(false);

b12.setEnabled(false);b13.setEnabled(false);b14.setEnabled(false);

b19.setEnabled(false);b20.setEnabled(false);b21.setEnabled(false);

b26.setEnabled(false);b27.setEnabled(false);b28.setEnabled(false);

}

if (e.getActionCommand()=="kxx")

{

b5.setEnabled(true);b6.setEnabled(true);b7.setEnabled(true);

b12.setEnabled(true);b13.setEnabled(true);b14.setEnabled(true);

b19.setEnabled(true);b20.setEnabled(true);b21.setEnabled(true);

b26.setEnabled(true);b27.setEnabled(true);b28.setEnabled(true);

}

if (e.getActionCommand()=="1")

{

ta.append("1");

}

if (e.getActionCommand()=="2")

{

ta.append("2");

}

if (e.getActionCommand()=="3")

{

ta.append("3");

}

if (e.getActionCommand()=="4")

{

ta.append("4");

}

if (e.getActionCommand()=="5")

{

ta.append("5");

}

if (e.getActionCommand()=="6")

{

ta.append("6");

}

if (e.getActionCommand()=="7")

{

ta.append("7");

}

if (e.getActionCommand()=="8")

{

ta.append("8");

}

if (e.getActionCommand()=="9")

{

ta.append("9");

}

if (e.getActionCommand()=="0")

{

ta.append("0");

}

if (e.getActionCommand()=="+")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

ta.setText("");

i=1;

}

if (e.getActionCommand()=="-")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

ta.setText("");

i=2;

}

if (e.getActionCommand()=="*")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

ta.setText("");

i=3;

}

if (e.getActionCommand()=="/")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

ta.setText("");

i=4;

}

if (e.getActionCommand()=="=")

{

s2=ta.getText();

d2=Double.parseDouble(s2);

if(i==1)

{

d3=d1+d2;

ta.setText( d3.toString());

}

if(i==2)

{

d3=d1-d2;

ta.setText( d3.toString());

}

if(i==3)

{

d3=d1*d2;

ta.setText( d3.toString());

}

if(i==4)

{

if(d2==0.0)

ta.setText("ERROR");

else

{

d3=d1/d2;

ta.setText( d3.toString());

}

}

if (i==5)

{

s2=ta.getText();

d2 = Double.parseDouble(s2);

for (int l=1;l=d2 ; l++)

{

d5=d5*d1;

}

ta.setText( d5.toString());

}

}

if (e.getActionCommand()=="C")

{

ta.setText("");

d4=1.0;

d5=1.0;

}

/*if (e.getActionCommand()=="Backspace")

{

s3=ta.getText();

a=s3.length();

//ta.cut(ta.select(a-1,a));

s4=ta.getText(1,3);

ta.setText(s4);

}

*/

if (e.getActionCommand()=="1/x")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

d2=1/d1;

ta.setText( d2.toString());

}

if (e.getActionCommand()==".")

{

ta.append(".");

}

if (e.getActionCommand()=="+/-")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

d2=0-d1;

ta.setText( d2.toString());

}

if (e.getActionCommand()=="x^2")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

d2=d1*d1;

ta.setText( d2.toString());

}

if (e.getActionCommand()=="x^3")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

d2=d1*d1*d1;

ta.setText( d2.toString());

}

if (e.getActionCommand()=="x^y")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

ta.setText("");

i=5;

// d2=d1*d1*d1;

// ta.setText( d2.toString());

}

if (e.getActionCommand()=="√x")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

d2=Math.sqrt(d1);

ta.setText( d2.toString());

}

if (e.getActionCommand()=="x!")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

if (d10)

{

ta.setText( "error");

}

else if (d1==0)

{

ta.setText( "0.0");

}

else {

for (int k=1;k=d1 ;k++ )

d4=d4*k;

ta.setText( d4.toString());

}

}

if (e.getActionCommand()=="sin")

{

s1=ta.getText();

d1 = Double.parseDouble(s1);

d2=Math.sin(3.1415926*d1/180);

ta.setText( d2.toString());

}

}

}

求一個(gè)用JAVA寫的簡(jiǎn)單的記事本源代碼程序 要有運(yùn)行結(jié)果的截圖和源代碼,在線等

這個(gè)是我以前寫著玩的一個(gè)例子,可以運(yùn)行起來看看,有保存,撤銷,復(fù)制,剪切功能,自己研究研究

package test;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JOptionPane;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

public class MyNote {

private JFrame frame = new JFrame("記事本");

private JTextArea text = new JTextArea();

private static boolean flag = false; // 判斷是否保存

public MyNote() {

JMenuBar bar = new JMenuBar();

JMenu edit = new JMenu("check");

JMenu check = new JMenu("edit");

JMenu help = new JMenu("help");

JMenuItem term = new JMenuItem("copy");

JMenuItem term1 = new JMenuItem("paste");

JMenuItem term2 = new JMenuItem("cut");

JMenuItem term3 = new JMenuItem("backout");

JMenuItem term4 = new JMenuItem("import");

JMenuItem term5 = new JMenuItem("open");

JMenuItem term6 = new JMenuItem("exit");

JMenuItem term7 = new JMenuItem("save to");

JMenuItem term8 = new JMenuItem("about");

JMenuItem term9 = new JMenuItem("save");

JMenuItem term10 = new JMenuItem("new");

Font font = new Font(null, JFrame.ABORT, 24);

text.setFont(font);

JScrollPane scroll = new JScrollPane(text);

frame.setJMenuBar(bar);

bar.add(edit);

bar.add(check);

bar.add(help);

edit.add(term7);

edit.add(term4);

edit.add(term5);

edit.add(term6);

check.add(term);

check.add(term1);

check.add(term2);

check.add(term3);

help.add(term8);

check.add(term9);

edit.add(term10);

frame.add(scroll);

text.setVisible(false);

frame.setSize(400, 400);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

frame.setLocation(500, 500);

// 事件注冊(cè)

MenuListener m = new MenuListener();

term5.addActionListener(m);

NewListener n = new NewListener();

term4.addActionListener(n);

SaveListener s = new SaveListener();

term7.addActionListener(s);

CopyListener c = new CopyListener();

term.addActionListener(c);

PasteListener p = new PasteListener();

term1.addActionListener(p);

CutListener c1 = new CutListener();

term2.addActionListener(c1);

HelpListener h = new HelpListener();

term8.addActionListener(h);

ExitListener e = new ExitListener();

term6.addActionListener(e);

CloseListener c2 = new CloseListener();

frame.addWindowListener(c2);

BackOutListener b = new BackOutListener();

term3.addActionListener(b);

SaveActionListener s1 = new SaveActionListener();

term9.addActionListener(s1);

NewFileListener n1 = new NewFileListener();

term10.addActionListener(n1);

}

private class MenuListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

text.setVisible(true);

}

}

// 打開新文件

private class NewListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

text.setText("");

JFileChooser fileChooser = new JFileChooser();

int r = fileChooser.showOpenDialog(frame);

if (r == JFileChooser.APPROVE_OPTION) {

try {

File file = fileChooser.getSelectedFile();

FileReader fr = new FileReader(file);

char[] buf = new char[1024];

int len = 0;

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

text.append(new String(buf, 0, len));

}

fr.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

}

// 另存為

private class SaveListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

JFileChooser filechoose = new JFileChooser();

int r = filechoose.showSaveDialog(frame);

if (r == JFileChooser.APPROVE_OPTION) {

File file = filechoose.getSelectedFile();

try {

FileWriter writer = new FileWriter(file);

writer.write((String) text.getText());

writer.close();

// 下面方法也可以

/*

* PrintWriter print=new PrintWriter(file);

* print.write(text.getText()); print.close();

*/

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

}

// 復(fù)制

private class CopyListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

text.copy();

}

}

// 粘貼

private class PasteListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

text.paste();

}

}

// 剪切

private class CutListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

text.cut();

}

}

// 關(guān)于主題

private class HelpListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(frame, "汪雄輝的無敵記事本");

}

}

private class ExitListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

JOptionPane.showMessageDialog(frame, "謝謝!");

try {

Thread.sleep(2000);

System.exit(0);

} catch (InterruptedException e1) {

e1.printStackTrace();

}

}

}

private class CloseListener implements WindowListener {

public void windowActivated(WindowEvent e) {

}

public void windowClosed(WindowEvent e) {

}

// 關(guān)閉窗口

public void windowClosing(WindowEvent e) {

StringBuffer sb = new StringBuffer();

try {

FileReader fr = new FileReader("未命名文件.txt");

char[] buf = new char[1024];

int len = 0;

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

sb.append(new String(buf, 0, len));

}

fr.close();

} catch (Exception e1) {

e1.getStackTrace();

}

String s = sb.toString();

if (flag == false || !(text.getText().equals(s))) {

int r = JOptionPane.showConfirmDialog(frame, "你還沒有保存,要保存嗎?");

if (r == JOptionPane.OK_OPTION) {

JFileChooser filechoose = new JFileChooser();

int r1 = filechoose.showSaveDialog(frame);

if (r1 == JFileChooser.APPROVE_OPTION) {

File file = filechoose.getSelectedFile();

try {

FileWriter writer = new FileWriter(file);

writer.write((String) text.getText());

writer.close();

System.exit(0);

// 下面方法也可以

/*

* PrintWriter print=new PrintWriter(file);

* print.write(text.getText()); print.close();

*/

} catch (IOException e1) {

e1.printStackTrace();

}

} else {

}

} else if (r == JOptionPane.NO_OPTION) {

System.exit(0);

} else {

}

} else

System.exit(0);

}

public void windowDeactivated(WindowEvent e) {

}

public void windowDeiconified(WindowEvent e) {

}

public void windowIconified(WindowEvent e) {

}

public void windowOpened(WindowEvent e) {

}

}

// 撤銷

private class BackOutListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

if (flag == false)

text.setText("");

else {

try {

FileReader fr = new FileReader("未命名文件.txt");

char[] buf = new char[1024];

int len = 0;

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

text.setText(new String(buf, 0, len));

}

fr.close();

} catch (IOException e1) {

e1.getStackTrace();

}

}

}

}

// 保存文件

private class SaveActionListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

flag = true;

FileWriter writer;

try {

writer = new FileWriter("未命名文件.txt");

writer.write((String) text.getText());

writer.close();

} catch (IOException e1) {

e1.printStackTrace();

}

}

}

private class NewFileListener implements ActionListener {

public void actionPerformed(ActionEvent e) {

new MyNote();

}

}

public static void main(String[] args) {

new MyNote();

}

}

名稱欄目:java浪漫的源代碼 java程序源代碼
鏈接分享:http://muchs.cn/article24/doschce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷標(biāo)簽優(yōu)化、Google、建站公司、品牌網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(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í)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)