按照你的要求編寫的Java程序如下(abs()是求絕對值的函數(shù))
閻良ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
public class AA {
public static void main(String[] args) {
int N=4;
for(int i=1;i=2*N-1;i++){
for(int j=1;j=2*N-1-2*Math.abs(N-i);j++){
System.out.print("*");
}
System.out.println();
}
}
}
打印楊輝三角圖形的Java程序如下
public class H{
public static void main(String[] args) {
int i,j,N=7;
int[][] a=new int[N][N];
for(i=0;iN;i++){
a[i][0]=1;
a[i][i]=1;
}
for(i=2;iN;i++)
for(j=1;ji;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;iN;i++){
for(j=0;jN-i-1;j++){
System.out.print("? ");
}
for(j=0;ji+1;j++){
System.out.printf("%-4d",a[i][j]);
}
System.out.println();
}
}
}
一: 首先理清業(yè)務(wù)邏輯
兩個窗口, 第一個主窗口, 是用于填寫信息的, 點(diǎn)擊按鈕后,跳轉(zhuǎn)到第二個窗口,.
第二個對話框窗口 ,用于顯示需要打印的信息, 以及打印到文檔
二: 確定需要的技術(shù), java圖像界面主要使用awt和swing
swing里面的控件比較豐富, 且功能強(qiáng)大 .
三: 效果圖片
四: 完整的參考代碼
import?java.awt.*;
import?java.awt.event.*;
import?java.io.*;
import?javax.swing.*;
//定義一個主窗口類
public?class?MainFrame?extends?JFrame?{
public?static?final?String?FILE_PATH?=?"c:\\print.txt";//常量,用于指定信息的保存路徑
//定義主要的組件
private?final?JTextField?jtf1,jtf2,jtf3;
private?final?JCheckBox?jcb1,jcb2,jcb3;
private?final?JRadioButton?jrb1,jrb2;
public?MainFrame()?{
setTitle("信息提交窗口");//設(shè)置窗口標(biāo)題
setSize(350,?320);//設(shè)置窗口大小
setLocationRelativeTo(null);//讓窗口居中
setDefaultCloseOperation(EXIT_ON_CLOSE);//當(dāng)主窗口關(guān)閉的時候退出jvm虛擬機(jī)
JPanel?jp?=?new?JPanel(new?GridLayout(5,?1,?2,?1));//定義主顯示面板,布局為表格布局5行1列,水平間距2,垂直間距1
JPanel?jp1?=?new?JPanel();//第一行的組件面板
JLabel?jl1?=?new?JLabel("姓名");
jtf1?=?new?JTextField(10);
jp1.add(jl1);
jp1.add(jtf1);
JPanel?jp2?=?new?JPanel();//第二行的組件面板
JLabel?jl2?=?new?JLabel("學(xué)號");
jtf2?=?new?JTextField(10);
jp2.add(jl2);
jp2.add(jtf2);
JPanel?jp3?=?new?JPanel();//第三行的組件面板
JLabel?jl3?=?new?JLabel("性別");
jrb1?=?new?JRadioButton("男");
jrb2?=?new?JRadioButton("女");
jrb1.setSelected(true);
ButtonGroup?bgs?=?new?ButtonGroup();
bgs.add(jrb1);
bgs.add(jrb2);
jp3.add(jl3);
jp3.add(jrb1);
jp3.add(jrb2);
JPanel?jp4?=?new?JPanel();//第四行的組件面板
JLabel?jl4?=?new?JLabel("選擇愛好");
jcb1?=?new?JCheckBox("游泳");
jcb2?=?new?JCheckBox("籃球");
jcb3?=?new?JCheckBox("跑步");
jp4.add(jl4);
jp4.add(jcb1);
jp4.add(jcb2);
jp4.add(jcb3);
JPanel?jp5?=?new?JPanel();//第五行的組件面板
JLabel?jl5?=?new?JLabel("自我介紹");
jtf3?=?new?JTextField(22);
jp5.add(jl5);
jp5.add(jtf3);
//添加到主顯示面板
jp.add(jp1);
jp.add(jp2);
jp.add(jp3);
jp.add(jp4);
jp.add(jp5);
jp.setBorder(BorderFactory.createTitledBorder("填寫資料"));//設(shè)置主顯示面板的邊框
JButton?jb?=?new?JButton("跳轉(zhuǎn)到打印頁");
jb.addActionListener(new?ActionListener()?{//按鈕事件
public?void?actionPerformed(ActionEvent?e)?{//獲取組件的信息
StringBuilder?sb?=?new?StringBuilder();//用于連接信息
String?name?=?jtf1.getText();
sb.append("姓名:"?+?name?+?"\r\n");
String?num?=?jtf2.getText();
sb.append("學(xué)號:"?+?num?+?"\r\n");
String?sex;
if?(jrb1.isSelected())?{
sex?=?"男";
}?else?{
sex?=?"女";
}
sb.append("性別:"?+?sex?+?"\r\n");
String?aihao?=?"";
if?(jcb1.isSelected())?{
aihao?+=?jcb1.getText();
}
if?(jcb2.isSelected())?{
aihao?+=?"?"?+?jcb2.getText();
}
if?(jcb3.isSelected())?{
aihao?+=?"?"?+?jcb3.getText();
}
sb.append("愛好:"?+?aihao?+?"\r\n");
String?jieshao?=?jtf3.getText();
sb.append("自我介紹:"?+?jieshao?+?"\r\n");
new?PrintDailog(sb.toString(),?FILE_PATH).setVisible(true);//打開打印頁面,并設(shè)置為可見
}
});
getContentPane().add(new?JLabel("信息填寫",JLabel.CENTER),BorderLayout.NORTH);
getContentPane().add(jp);
getContentPane().add(jb,?BorderLayout.SOUTH);
}
public?static?void?main(String[]?args)?{
new?MainFrame().setVisible(true);
}
}
//定義一個對話框窗口類
class?PrintDailog?extends?JDialog?{
String?info;//用于接受信息
String?filePath;//文檔的路徑
private?final?JLabel?jl2;
public?PrintDailog(String?info,?final?String?filePath)?{
this.info?=?info;
this.filePath?=?filePath;
setModal(true);//模態(tài)為真,如果不關(guān)閉這個對話框,那么無法點(diǎn)擊其他窗口
setTitle("信息打印頁");//設(shè)置打印窗口的標(biāo)題
setSize(300,?320);//設(shè)置打印窗口的大小
setLocationRelativeTo(null);//設(shè)置打印窗口居中
setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);//當(dāng)點(diǎn)擊關(guān)閉按鈕時,該窗口銷毀
JLabel?jl1?=?new?JLabel("信息打印顯示",?JLabel.CENTER);
JTextArea?jta?=?new?JTextArea(info);
jta.setEditable(false);//不可編輯
jta.setLineWrap(true);//自動換行
JScrollPane?jsp?=?new?JScrollPane(jta);
jsp.setBorder(BorderFactory.createTitledBorder("信息"));
JButton?jb1?=?new?JButton("打印");
JPanel?jp?=?new?JPanel(new?GridLayout(2,?1));
JPanel?jp1?=?new?JPanel();
jp1.add(jb1);
JPanel?jp2?=?new?JPanel();
jl2?=?new?JLabel();
jp2.add(jl2);
jp.add(jp1);
jp.add(jp2);
add(jl1,?BorderLayout.NORTH);
add(jsp);
add(jp,?BorderLayout.SOUTH);
jb1.addActionListener(new?ActionListener()?{//點(diǎn)擊打印的按鈕的事件
public?void?actionPerformed(ActionEvent?e)?{
saveToFile();//信息打印到了文檔
jl2.setText("信息已經(jīng)打印到"?+?filePath);//顯示出來
jl2.setForeground(Color.RED);//為了醒目設(shè)置顏色為紅色
}
});
}
private?void?saveToFile()?{//該方法用于保存信息到文檔
try?{
BufferedWriter?bw?=?new?BufferedWriter(new?OutputStreamWriter(new?FileOutputStream(filePath),?"UTF-8"));
bw.write(info);
bw.close();
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
}
五: 拓展
java 制作圖像界面比較簡單, ?只需要熟練的掌握三大布局(流布局 表格布局 邊界布局)和常用組件 ?, 就能制作出比較復(fù)雜的界面 . ?所以理清業(yè)務(wù)邏輯, ?才是重點(diǎn)
程序員的表白代碼
第一條語言:Java代碼翻譯:直到死之前,每天愛你多一點(diǎn)代碼:while(lifeend){love++;}
第二條語言:C語言代碼翻譯:IcannotsayHellototheWorldwithoutu.代碼:#incldestdio.hintmain(){printf(HelloWorldn);retrn0;}//IcannotsayHellototheWorldwithoutu.
第三條語言:python代碼翻譯:山無陵,江水為竭,冬雷震震,夏雨雪,天地合,乃敢與君絕!代碼:if(mountain.arris==None):if(river.water==None):if(winter.thunder==True):if(summer.snow==True):if(sky.height==ground.height):i.withyou=Falseelse:i.withyou=True.
第四條語言:Erlang代碼代碼翻譯:深圳相遇,至死不渝代碼:-module(you_and_me).-export([start/1]).-record(person,{name,address,status}).start(Name)-one_world(Name).one_world(Name)keep_to_love_you(Person).say_goodbye(Person)-io:format(~p:seeyounextworld!~n,[Person#person.name]).see_you_next_world(Name)-one_world(Name).
第五條語言:Java語言代碼翻譯:愛你到天荒地老代碼:while(!world.destroy){System.out.println(iloveyou);}