JAVA实验6.docx
- 文档编号:7907046
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:18
- 大小:110.07KB
JAVA实验6.docx
《JAVA实验6.docx》由会员分享,可在线阅读,更多相关《JAVA实验6.docx(18页珍藏版)》请在冰豆网上搜索。
JAVA实验6
试验编号:
_06_四川师大实验报告2010年10月30日
计算机科学学院2008级3班
姓名:
余乐坤学号:
2008110359指导老师:
实验成绩:
ISYS4374
Homework6-1
Implementthefollowingclass:
Stock
stockName(String)
tickerSymbol(String)
numberOfShares(int)
investmentValue(double)
stockPrice(double)
ImplementtheStockclassabove
∙CreateaGUIwith4textboxes;3buttons;and3labels
∙The4textboxesshouldbeusedtoentervaluesforstockName,tickerSymbol,numberOfShares,andstockPrice
∙Onebuttonshouldbelabeled“CreateStock”
oClickingonthisbuttonshould:
o1:
createastockinstanceusingthevaluesenteredinthetextboxes
o2:
displaythenameofthestockinoneofthelabels
o3:
displaythetickersymbolinoneofthelabels
o4:
displaytheinvestmentvalue(productofstockPriceandnumberOfShares)inoneofthelabels
∙Anotherbuttonshouldbelabeled“BuyShares”
oClickingonthisbuttonshould:
o1:
popupaninputboxaskingforthenumberofsharestobebought
o2:
addtheuser-specifiednumberofsharestothecurrentnumberofshares
o3:
displaytheupdatedinvestmentvalueinthelabel
∙Anotherbuttonshouldbelabeled“SellShares”
oClickingonthisbuttonshould:
o1:
popupaninputboxaskingforthenumberofsharestobebought
o2:
subtracttheuser-specifiednumberofsharesfromthecurrentnumberofshares
o3:
displaytheupdatedinvestmentvalueinthelabel
ResultforAssignment:
Testingprocedure:
1)Click“CreateStocik”,thelabelshoulddisplaystockname,tickersymbol,investment(numberofshares*stockprice)information
2)Click“BuyShares”andinputnumberofstockyouwanttobuyandclick“确定”toaddinvestmentvaluesintopreviousvalues.
3)Click“SellShares”buttonandinputnumberofstockyouwanttosell.Thenclick“确定”todeductinvestmentvaluesfrompreviousvalues.
实验代码:
importjava.awt.*;
importjavax.swing.*;
importjavax.swing.border.Border;
importjavax.swing.border.TitledBorder;
importjava.awt.event.*;
publicclassshiyan61implementsActionListener
{
privatestaticfinalBorderBorderFactory=null;
/**
*@paramargs
*/
staticdoubleprice;//定义全局变量存储总共价格
doubleprice1,price2;//获取价格和数量
Strings1,s2;//获取
//定义个组件
JFramef=null;
JButtonb1,b2,b3;
JLabelL1,L2,L3,L4,A1,A2,A3,A4;
JTextFieldT1,T2,T3,T4;
//构造函数
shiyan61()
{
JFramef=newJFrame("Stock--YLK");;
f.setSize(500,250);
Containercon=f.getContentPane();
JPanelp1=newJPanel();
//p1.setBorder(BorderFactory);
//放入四个标签
p1.setLayout(newGridLayout(4,2));
L1=newJLabel("stockName");
L2=newJLabel("tickerSymbol");
L3=newJLabel("numberofShares");
L4=newJLabel("stockPrice");
//定义四个文本输入框
T1=newJTextField(20);
T2=newJTextField(20);
T3=newJTextField(20);
T4=newJTextField(20);
//添加
p1.add(L1);
p1.add(T1);
p1.add(L2);
p1.add(T2);
p1.add(L3);
p1.add(T3);
p1.add(L4);
p1.add(T4);
//容器二
JPanelp2=newJPanel();
p2.setBorder(BorderFactory);
p2.setLayout(newFlowLayout());
//三个按钮
b1=newJButton("CreatStock");
b2=newJButton("BuyShares");
b3=newJButton("ShellShares");
//b1.setBounds(400,100,40,40);
p2.add(b1);
p2.add(b2);
p2.add(b3);
//容器三
JPanelp3=newJPanel();
p3.setLayout(newGridLayout(3,0));
A1=newJLabel();
A2=newJLabel();
A3=newJLabel();
//添加三个标签
p3.add(A1);
p3.add(A2);
p3.add(A3);
con.add(p1,BorderLayout.NORTH);
con.add(p2,BorderLayout.CENTER);
con.add(p3,BorderLayout.SOUTH);
//添加相应
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
f.setVisible(true);
}
publicvoidactionPerformed(ActionEvente)
{
//TODOAuto-generatedmethodstub
//按Creat
if(e.getSource()==b1)
{
//获取信息
inti=0;
s1=T1.getText();
s2=T2.getText();
//计算
try
{
price1=Double.parseDouble(T3.getText());
price2=Double.parseDouble(T4.getText());
//打印
}
catch(NumberFormatExceptiona)
{
A1.setText("");
A2.setText("");
A3.setText("thisissomethingwrong");
i=1;
}
if(i==0)
{
price=price1*price2;
A1.setText("nameofStock:
"+s1);
A2.setText("TickerSymbol:
"+s2);
A3.setText("IvestmentValues:
"+price);
}
}
//买进
elseif(e.getSource()==b2)
{
inti=0;
try
{
doubleadd=Double.parseDouble(JOptionPane.showInputDialog("pleaseenterthenumberofstocktobought"));
price=add*price2+price;
}catch(NumberFormatExceptiona)
{
A1.setText("");
A2.setText("");
A3.setText("thisissomethingwrong");
i=1;
}
if(i==0)
{
A1.setText("nameofStock:
"+s1);
A2.setText("TickerSymbol:
"+s2);
A3.setText("IvestmentValues:
"+price);
}
}
//卖出
else
{
inti=0;
try
{
doubleadd=Double.parseDouble(JOptionPane.showInputDialog("pleaseenterthenumberofstocktoshare"));
price=price-add*price2;
}
catch(NumberFormatExceptiona)
{
A1.setText("");
A2.setText("");
A3.setText("thisissomethingwrong");
i=1;
}
if(i==0)
{
A1.setText("nameofStock:
"+s1);
A2.setText("TickerSymbol:
"+s2);
A3.setText("IvestmentValues:
"+price);
}
}
}
publicstaticvoidmain(String[]args)
{
//TODOAuto-generatedmethodstub
newshiyan61();
}
}
##############################################################################
ISYS4374
DueWednesdayMay2nd2008
10Points
Homework6-2
Thefollowingapplicationwillbeacoffeeshopstorefront
CreateaGUIwiththefollowingcomponents
1:
Theusershouldbeabletodeterminethetypeofbeveragetopurchaseusingradiobuttons
(Latte,Mocha,Cappuccino)
2:
Theusershouldbeabletodeterminewhethertoaddwhippedcreamand/orcarameltothebeverageusingcheckboxes
3:
Theusershouldbeabletodeterminewhatsizeofbeveragetopurchaseusingacombobox
(Tall,Grande,Venti)
4:
Theusershouldbeabletoclickonabuttonthatwillcalculatethecostofthebeveragebasedontheselectionsmadebytheuser.Thebeveragetypeandtotalcostshouldbedisplayedinamessagebox.
Thecoststructureforabeverageisasfollows:
Beverage
Size
Price
Latte
Tall
$1.25
Latte
Grande
$1.75
Latte
Venti
$2.00
Mocha
Tall
$1.30
Mocha
Grande
$1.50
Mocha
Venti
$1.70
Cappuccino
Tall
$1.00
Cappuccino
Grande
$1.20
Cappuccino
Venti
$1.50
Add$0.50forwhippedcream
Add$0.75forcaramel
Results:
实验代码:
importjavax.swing.*;
importjavax.swing.border.TitledBorder;
importjava.awt.*;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.ItemEvent;
importjava.awt.event.ItemListener;
publicclassylk2implementsActionListener,ItemListener
{
/**
*@paramargs
*/
privateJFramef=null;
privateJRadioButtonr1,r2,r3;
privateJCheckBoxc1,c2;
privateJButtonb1;
privateJComboBoxL;
doubleprice=0;
privateintop1=0,op2=0,op3=0;
ylk2()
{
f=newJFrame("ylk");
f.setSize(newDimension(300,250));
f.setLayout(newGridLayout(3,4));
Containercon=f.getContentPane();
//面板1,添加单选按钮
JPanelp1=newJPanel();
p1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black,2)));
p1.setLayout(newGridLayout(1,3));
p1.setSize(newDimension(280,100));
r1=newJRadioButton("Latte");
r2=newJRadioButton("Mocha");
r3=newJRadioButton("Cappuccino");
//为单选按钮添加监听器
r1.addItemListener(this);
r2.addItemListener(this);
r3.addItemListener(this);
//单选组
ButtonGroupb=newButtonGroup();
b.add(r1);
b.add(r2);
b.add(r3);
//添加按钮
p1.add(r1);
p1.add(r2);
p1.add(r3);
//面板2,复选按钮
JPanelp2=newJPanel();
p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black,2)));
p2.setLayout(newGridLayout(1,2));
p1.setSize(newDimension(280,30));
c1=newJCheckBox("cream");
c2=newJCheckBox("caramel");
c1.addItemListener(this);
c2.addItemListener(this);
p2.add(c1);
p2.add(c2);
//面板3,下来列表
JPanelp3=newJPanel();
p3.setLayout(newGridLayout(2,2));
p3.setSize(newDimension(280,150));
Stringlabel[]={"Tall","Grande","Venti"};
L=newJComboBox(label);
L.setEditable(true);
b1=newJButton("calculate");
p3.add(L);
p3.add(b1);
//按钮监听器
b1.addActionListener(this);
con.add(p1);
con.add(p2);
con.add(p3);
f.setVisible(true);
}
@SuppressWarnings("null")
publicvoidactionPerformed(ActionEvente)
{
doubleprice=0;
Stringa=(String)L.getSelectedItem();
if(a=="Tall")
op3=1;
elseif(a=="Grande")
op3=2;
elseif(a=="Venti")
op3=3;
if(op1==1)
{
switch(op3)
{
case1:
price=1.25;
break;
case2:
price=1.75;
break;
case3:
price=2.0;
}
if(op2==1)
price+=0.75;
elseif(op2==2)
price+=0.5;
elseif(op2==3)
price+=1.25;
}
elseif(op1==2)
{
switch(op3)
{
case1:
price=1.3;
break;
case2:
price=1.5;
break;
case3:
price=1.7;
}
if(op2==1)
price+=0.75;
elseif(op2==2)
price+=0.5;
elseif(op2==3)
price+=1.25;
}
elseif(op1==3)
{
switch(op3)
{
case1:
price=1.0;
break;
case2:
price=1.2;
break;
case3:
price=1.5;
}
if(op2==1)
price+=0.5;
elseif(op2==2)
price+=0.75;
elseif(op2==3)
price+=1.25;
}
JOptionPane.showMessageDialog(b1,price,
"消息",JOptionPane.WARNING_MESSAGE);
/*else
*
{
JOptionPane.showMessageDialog(b1,"yourchoiceiswrong",
"消息",JOp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 实验