基於swing框架的java(swing語句)

本文目錄一覽:

swing框架是java se里的還是java ee里的?

swing框架是java se里的,裡面包含很多組件,可以快速進行搭建界面。java ee主要是網頁開發,比如三大框架之類的,jsp

java swing怎樣開發出漂亮的界面

使用Swing照樣可以開發出漂亮的界面.

主要的解決方案如下:

1: 合理的布局 , 搭建好界面的框架. 熟悉常用的布局, 並且布局還可以嵌套布局.  可以實現複雜而又美觀的界面.

2: 適當的圖片,  按鈕, 背景等 都可以使用圖片, 當然了為了節省系統資源, 可以使用稍微壓縮得比較小的圖片.

3: 搭配html , swing支持html簡單的標籤, 所以美化JButton ,JLabel等組件時, 可以使用一些Html標籤. 來美化~~

4: 顏色調和. 界面要美觀, 也可以適當的添加顏色, 但是要注意搭配和協調

5: 重寫部分組件, swing自帶的組件外觀, 的確不太讓人恭維,  但是我們可以自己根據需求進行重寫.

6: 添加動態效果, 我們寫javaScript經常是用來做特效的 , 我們可以借鑒一些JS特效的思路, 使用線程, 來給swing組件 等,添加動態的效果 , 比如抖動,  移動 , 滑出 等 特效~

7: 更換皮膚和外觀 , 或者使用第三方的皮膚 ,比大神製作的皮膚BeautyEye ,就想當的漂亮

Java 中的 Swing 框架現在是不是被淘汰了

的確 java寫客戶端界面這一塊 , 還是有很多的劣勢的.

比如:

寫好的應用, 傳給其他電腦, 要想成功運行, 需要對方有java運行環境. 如果沒有,那麼需要1個幾十上百M的 jre包.  那怕就是一個Hello Word的窗口程序..

界面不太美觀, 如果試圖美化 ,那麼比較麻煩…需要很多的類去繼承和修改

組件很少, swing連最基本的日期組件 . 都沒有提供…

目前C/S架構的軟件勢頭都被B/S架構的軟件給蓋住了. .. 所以swing也不例外

java的重心也不在swing界面這一塊

不過我們還是要簡單學習和了解Swing /awt技術

因為 一些古老的軟件 有極少的可能是由swing/awt技術開發的. 需要維護

其次, 可以利用swing寫一些自己使用的工具軟件.  那還是想當方便的~

再次, swing的架構還是比較厲害的, 經典的MVC架構,值得學習

最後, 如果要深入了解java界面技術 ,那麼可以了解下javaFX..

java swing組件的優點有哪些?

Java Swing組件的特點:

1、Swing的實現是一個小型GUI框架,該框架無基本平台依賴性,而在AWT實現中卻有依賴性。

2、javax.swing.JComponent類是所有Swing組件的基類。

3、Swing模型的目標是要遵循模型-視圖-控制器體系結構。模型封裝了數據和狀態的底層表示。

4、javax.swing.plaf包提供了一個接口和許多抽象類用於定義可插入的外觀框架。缺省的外觀由javax.swing.plaf.basic包中的類實現。

用java 基於SWING的圖形用戶界面設計 編寫一個應用程序

package heh;//我自己的包名

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

import javax.swing.*;

public class Jsq extends JFrame

{

Panel pan1=new Panel();

Panel pan2=new Panel();

Panel pan3=new Panel();

Panel pan4=new Panel();

Panel pan5=new Panel();

Label la1=new Label(“歡迎使用計算器”);

Button bt1=new Button(” “);

Button bt2=new Button(“MC”);

Button bt3=new Button(“MR”);

Button bt4=new Button(“MS”);

Button bt5=new Button(“M+”);

Button bt11=new Button(“Backspace”);

Button bt12=new Button(“CE”);

Button bt13=new Button(“C”);

Button but[]=new Button[20];

String buta[]={“7″,”8″,”9″,”/”,”sqrt”,”4″,”5″,”6″,”*”,”%”,”1″,”2″,”3″,”-“,”1/x”,”0″,”-/+”,”.”,”+”,”=”};

JTextField t1=new JTextField(“0”);//swing組件,可以設置對齊方式

double a=0;//記錄計算中的值或結果

String b=””;//“+,-,*,/”運算符號標記

int d=0; //是否剛剛按過運算符號標記

int x=0; //是否剛剛按過“=”號標記

int y=0; //屏幕剛剛出現過漢字的標記

public Jsq()

{

super(“計算器”);

add(pan1,BorderLayout.NORTH);

add(pan4,BorderLayout.CENTER);

add(pan3,BorderLayout.WEST);

pan3.setLayout(new GridLayout(0,1,10,10));

pan3.add(bt1);pan3.add(bt2);pan3.add(bt3);pan3.add(bt4);pan3.add(bt5);

pan4.setLayout(new BorderLayout());

pan4.add(pan5,BorderLayout.NORTH);

pan4.add(pan2,BorderLayout.CENTER);

pan5.setLayout(new GridLayout(1,3,5,5));

pan5.add(bt11);pan5.add(bt12);pan5.add(bt13);

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

pan1.add(la1);

pan1.add(t1);

t1.setEditable(false);//文本框設置為不可修改

t1.setHorizontalAlignment(JTextField.RIGHT);//設置文本框對齊方式

pan2.setLayout(new GridLayout(4,5,10,10));

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

{

but[i]=new Button(buta[i]);

pan2.add(but[i]);

}

but[0].addActionListener(new A());

but[1].addActionListener(new A());

but[2].addActionListener(new A());

but[3].addActionListener(new A());

but[4].addActionListener(new A());

but[5].addActionListener(new A());

but[6].addActionListener(new A());

but[7].addActionListener(new A());

but[8].addActionListener(new A());

but[9].addActionListener(new A());

but[10].addActionListener(new A());

but[11].addActionListener(new A());

but[12].addActionListener(new A());

but[13].addActionListener(new A());

but[14].addActionListener(new A());

but[15].addActionListener(new A());

but[16].addActionListener(new A());

but[17].addActionListener(new A());

but[18].addActionListener(new A());

but[19].addActionListener(new A());

bt11.addActionListener(new A());

bt12.addActionListener(new A());

bt13.addActionListener(new A());

bt1.addActionListener(new A());

bt2.addActionListener(new A());

bt3.addActionListener(new A());

bt4.addActionListener(new A());

bt5.addActionListener(new A());

}

class A implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==but[0]) //”7″

{

if(x==1) //判斷是否剛剛按過”=”

{

t1.setText(“7”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{ //如果顯示為”0″或”0.0″或者剛剛按過運算符號

t1.setText(“7″); //或者屏幕顯示為漢字 那麼顯示為”7”

y=0;//將標記設置為0

}

else

t1.setText(t1.getText()+”7″);//將顯示的字符串後面加”7″

d=0;//將標記設置為0

if(t1.getText().length()40)//判斷顯示字符長度是否超過40

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[1]) //”8″

{

if(x==1)

{

t1.setText(“8”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“8”);

y=0;

}

else

t1.setText(t1.getText()+”8″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[2]) //”9″

{

if(x==1)

{

t1.setText(“9”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“9”);

y=0;

}

else

t1.setText(t1.getText()+”9″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[3]) //”/”

{

if(y==1) //判斷顯示的是否為漢字

{

t1.setText(“0”);

y=0;

}

if(d==0) //判斷是否剛剛按過運算符號 防止連續按運算符號產生錯誤

{

if(b.equals(“+”))//四則混合運算時 判斷上次計算是否為”+”

{

a=a+Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“-“))//四則混合運算時 判斷上次計算是否為”-“

{

a=a-Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“*”))//四則混合運算時 判斷上次計算是否為”*”

{

a=a*Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“/”))//四則混合運算時 判斷上次計算是否為”/”

{

double f=Double.valueOf(t1.getText()).doubleValue();

if(f==0)//判斷除數是否為0

{

t1.setText(“錯誤!請按“CE”清屏後繼續計算”);

y=1;

}

else

{

a=a/Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(b.equals(“”))//判斷進行的是不是四則混合運算的第一次運算

{

a=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(!t1.getText().equals(“錯誤!請按“CE”清屏後繼續計算”))//是否出現了除數為零的錯誤

{

b=”/”;//運算符號標記設置為”/”

d=1; //標記已經按過運算符號

}

if(t1.getText().length()40)//判斷顯示字符長度是否超過40

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;//將記憶的數字抹去

b=””;//運算符號標記 為未按過運算符號

d=0;//標記 剛剛沒有按過運算符號

y=1;//標記 屏幕顯示了漢字

}

}

if(e.getSource()==but[4]) //”sqrt”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

double f=Double.valueOf(t1.getText()).doubleValue();

if(f0) //判斷被開放數是否小於零

{

t1.setText(“錯誤!被開方數小於0,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

else

{

f=Math.sqrt(f);

t1.setText(“”+(f));

}

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[5]) //”4″

{

if(x==1)

{

t1.setText(“4”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“4”);

y=0;

}

else

t1.setText(t1.getText()+”4″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[6]) //”5″

{

if(x==1)

{

t1.setText(“5”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“5”);

y=0;

}

else

t1.setText(t1.getText()+”5″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[7]) //”6″

{

if(x==1)

{

t1.setText(“6”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“6”);

y=0;

}

else

t1.setText(t1.getText()+”6″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[8]) //”*”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

if(d==0)

{

if(b.equals(“+”))

{

a=a+Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“-“))

{

a=a-Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“*”))

{

a=a*Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“/”))

{

double f=Double.valueOf(t1.getText()).doubleValue();

if(f==0)

{

t1.setText(“錯誤!請按“CE”清屏後繼續計算”);

y=1;

}

else

{

a=a/Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(b.equals(“”))

{

a=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(!t1.getText().equals(“錯誤!請按“CE”清屏後繼續計算”))

{

b=”*”;

d=1;

}

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[9]) //”%”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

double f=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+(f/100));

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[10]) //”1″

{

if(x==1)

{

t1.setText(“1”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“1”);

y=0;

}

else

t1.setText(t1.getText()+”1″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[11]) //”2″

{

if(x==1)

{

t1.setText(“2”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“2”);

y=0;

}

else

t1.setText(t1.getText()+”2″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[12]) //”3″

{

if(x==1)

{

t1.setText(“3”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“3”);

y=0;

}

else

t1.setText(t1.getText()+”3″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[13]) //”-“

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

if(d==0)

{

if(b.equals(“+”))

{

a=a+Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“-“))

{

a=a-Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“*”))

{

a=a*Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“/”))

{

double f=Double.valueOf(t1.getText()).doubleValue();

if(f==0)

{

t1.setText(“錯誤!請按“CE”清屏後繼續計算”);

y=1;

}

else

{

a=a/Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(b.equals(“”))

{

a=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(!t1.getText().equals(“錯誤!請按“CE”清屏後繼續計算”))

{

b=”-“;

d=1;

}

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[14]) //”1/x”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

else

{

double f=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+(1/f));

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

}

if(e.getSource()==but[15]) //”0″

{

if(x==1)

{

t1.setText(“0”);

x=0;

}

if(t1.getText().equals(“0.0”)||t1.getText().equals(“0”)||d==1||y==1)

{

t1.setText(“0”);

y=0;

}

else

t1.setText(t1.getText()+”0″);

d=0;

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[16]) //”-/+”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

double f=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+(-f));

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[17]) //”.”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

if(t1.getText().indexOf(“.”)==-1)//判斷是否已經有”.”

{

t1.setText(t1.getText()+”.”);

}

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[18]) //”+”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

if(d==0)

{

if(b.equals(“+”))

{

a=a+Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“-“))

{

a=a-Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“*”))

{

a=a*Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“/”))

{

double f=Double.valueOf(t1.getText()).doubleValue();

if(f==0)

{

t1.setText(“錯誤!請按“CE”清屏後繼續計算”);

y=1;

}

else

{

a=a/Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(b.equals(“”))

{

a=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(!t1.getText().equals(“錯誤!請按“CE”清屏後繼續計算”))

{

b=”+”;

d=1;

}

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==but[19]) //”=”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

if(b.equals(“+”))

{

a=a+Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“-“))

{

a=a-Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“*”))

{

a=a*Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(b.equals(“/”))

{

double f=Double.valueOf(t1.getText()).doubleValue();

if(f==0)

{

t1.setText(“錯誤!請按“CE”清屏後繼續計算”);

y=1;

}

else

{

a=a/Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

}

if(b.equals(“”))

{

a=Double.valueOf(t1.getText()).doubleValue();

t1.setText(“”+a);

}

if(!t1.getText().equals(“錯誤!請按“CE”清屏後繼續計算”))

{

b=””;

d=1;

x=1;

}

if(t1.getText().length()40)

{

t1.setText(“錯誤!數字過長,請按“C”從新輸入”);

a=0.0;

b=””;

d=0;

y=1;

}

}

if(e.getSource()==bt11) //”Backspace”

{

if(y==1)

{

t1.setText(“0”);

y=0;

}

else

{

String s1=t1.getText();

if(s1.length()==1)//如果將顯示的數字全部退掉 則顯示”0″

{

t1.setText(“0”);

}

else

{

t1.setText(s1.substring(0,(s1.length()-1)));//退格

}

}

}

if(e.getSource()==bt12) //”CE”

{

t1.setText(“0”);//清屏

}

if(e.getSource()==bt13) //”C” 初始化

{

t1.setText(“0”);

a=0.0;

b=””;

d=0;

}

if(e.getSource()==bt1) //””

{

}

if(e.getSource()==bt2) //”MC”

{

}

if(e.getSource()==bt3) //”MR”

{

}

if(e.getSource()==bt4) //”MS”

{

}

if(e.getSource()==bt5) //”M+”

{

}

}

}

public static void main(String args[])

{

Jsq a=new Jsq();

a.setSize(300,250);

a.setVisible(true);

}

}

java swing中關於框架之間的調用

如果你要A框架 和B框架每次都是 同一個 就不要NEW了

把他們都設為單例模式 這樣你每次都是獲取同一個A和B 獲取到同一個對象就好了

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128951.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • Zlios——一個多功能的開發框架

    你是否在開發過程中常常遇到同樣的問題,需要不斷去尋找解決方案?你是否想要一個多功能、易於使用的開發框架來解決這些問題?那麼,Zlios就是你需要的框架。 一、簡介 Zlios是一個…

    編程 2025-04-29
  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29

發表回復

登錄後才能評論