自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx

上传人:b****8 文档编号:9236422 上传时间:2023-02-03 格式:DOCX 页数:43 大小:106.52KB
下载 相关 举报
自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx_第1页
第1页 / 共43页
自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx_第2页
第2页 / 共43页
自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx_第3页
第3页 / 共43页
自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx_第4页
第4页 / 共43页
自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx

《自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx》由会员分享,可在线阅读,更多相关《自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx(43页珍藏版)》请在冰豆网上搜索。

自考JAVA语言程序设计一课后习题答案与源代码实验大纲.docx

自考JAVA语言程序设计一课后习题答案与源代码实验大纲

实验大纲

1字符统计程序

程序运行结果:

统计字符源文件:

StaChar.java

importjavax.swing.*;

/**

*1字符统计程序

*利用对话框读入字符串统计输入字符行中数字字符、英文字母个数.

*@author黎明你好

*/

publicclassStaChar

{

publicstaticvoidmain(String[]args)

{

Stringstr=JOptionPane.showInputDialog("请输入字符串:

");

char[]c=str.toCharArray();

intnumberCount=0;

intletterCount=0;

for(inti=0;i

{

if(c[i]<'9'&&c[i]>'0')

numberCount++;

elseif((c[i]>'A'&&c[i]<'Z')||(c[i]>'a'&&c[i]<'z'))

letterCount++;

}

Stringresult="输入内容:

\n"+str+"\n数字字符:

"+numberCount+"个;"+"\n字母:

"+letterCount

+"个";

JOptionPane.showMessageDialog(null,result,"结果:

",JOptionPane.INFORMATION_MESSAGE);

}

}

2找质数程序

程序运行结果:

输出质数原文件:

PrintPrime.java

importjavax.swing.JOptionPane;

/**

*2找质数程序,利用对话框读入整数,输出2至这个整数之间的质数.

*@author黎明你好

*/

publicclassPrintPrime

{

privateintnumber;//正整数

privateStringresult="";

publicPrintPrime()//构造方法

{

number=getIntegerNumber("输入整数n",0);//要求是>=0的整数

if(number<0)

{

return;//出现错误,程序结束

}

else

//如果大于等于2,开始用循环计算结果

{

for(inti=2;i<=number;i++)//计算素数和

{

if(isPrimeNumber(i))

result+=i+"";

}

}

//显示最后的和

JOptionPane.showMessageDialog(null,number+"之前所有素数为:

\n“"+result+"”","显示结果",

JOptionPane.INFORMATION_MESSAGE);

}

/**

*通过图形界面,得到符合规则的正整数的方法

*@parammessage-在弹出的对话框中,显示提示信息

*@parammin-要求此数必须大于等于min

*@return-返回符合规则的整数

*/

publicintgetIntegerNumber(Stringmessage,intmin)

{

Stringstr=JOptionPane.showInputDialog(null,message,"提示信息",

JOptionPane.INFORMATION_MESSAGE);

intnumber=-1;

try

{

number=Integer.parseInt(str);//得到输入的正整数

}

catch(Exceptione)

{

JOptionPane.showMessageDialog(null,"输入非数字字符\n程序结束","错误警告",JOptionPane.ERROR_MESSAGE);

return-1;//输入的不是数字字符,程序结束

}

if(number

{

JOptionPane.showMessageDialog(null,"输入的数不符合规则,不是正整数\n程序结束","错误警告",

JOptionPane.ERROR_MESSAGE);

return-1;//输入的数不是大于2的正整数时候,程序结束

}

else

returnnumber;

}

/**

*判断是否是素数的方法

*@paramn-需要判断的数

*@return-是素数返回true,否则返回false

*/

publicbooleanisPrimeNumber(intn)

{

for(inti=2;i

{

if(n%i==0)

returnfalse;

}

returntrue;

}

/**main方法*/

publicstaticvoidmain(String[]args)

{

newPrintPrime();

}

}

3类的继承定义,包括几何形状类Shape、圆形类Circle.、矩形类Rectangle

/**

*几何图形类,抽象类

*/

abstractclassShape

{

publicfloatarea()

{

return0.0f;

}

}

/**

*圆形类

*/

classCircleextendsShape

{

privatefloatR;

publicCircle(floatr)

{

R=r;

}

publicfloatarea()

{

return(float)(Math.PI*R*R);

}

}

/**

*矩形类

*/

classRectangleextendsShape

{

privatefloatw,h;

publicRectangle(floatw,floath)

{

this.w=w;

this.h=h;

}

publicfloatarea()

{

returnw*h;

}

}

publicclassWork11_3

{

publicstaticvoidmain(Stringargs[])

{

Circlec;

Rectangler;

c=newCircle(2.0f);

r=newRectangle(3.0f,5.0f);

System.out.println("圆面积"+returnArea(c));

System.out.println("长方形面积"+returnArea(r));

}

staticfloatreturnArea(Shapes)

{

returns.area();

}

}

4数组排序程序

源文件:

Work11_4.java

importjavax.swing.*;

importjava.util.*;

/**

*4数组排序程序.

*输入整数序列,对输入的整数进行排序,输出结果.

*@author黎明你好

*/

publicclassWork11_4

{

publicstaticfinalintRISE=0;

publicstaticfinalintLOWER=1;

publicstaticvoidmain(String[]args)

{

Stringstr=JOptionPane.showInputDialog("请输入字符串:

");

StringTokenizertoken=newStringTokenizer(str,",.;:

");

intmode=Work11_4.RISE;//排列模式,默认为升序排列

intcount=token.countTokens();//输入的整数的个数

intarray[]=newint[count];

intindex=0;

while(token.hasMoreTokens())

{

try

{

array[index]=Integer.parseInt(token.nextToken());

index++;

}

catch(Exceptione)

{

JOptionPane.showMessageDialog(null,"输入非法字符","错误警告",JOptionPane.ERROR_MESSAGE);

return;//输入非法字符时候,直接结束程序

}

}

sort(array,mode);//按mode模式,进行排序

Stringresult=newString();

StringmodeString=newString();

if(mode==Work11_4.RISE)

modeString="升序排列结果为:

";

if(mode==Work11_4.LOWER)

modeString="降序排列结果为:

";

for(inti=0;i

{

result=result+array[i]+",";

}

if(result!

=null)

JOptionPane

.showMessageDialog(null,result,modeString,JOptionPane.INFORMATION_MESSAGE);

}

/**

*给数组排序的方法

*@paramarray-需要排序的数组

*@parammode-排序的模式,可以为RISE,LOWER

*/

publicstaticvoidsort(intarray[],intmode)

{

for(inti=0;i

{

for(intj=0;j

{

if(mode==Work11_4.RISE&&array[j]>array[j+1])

{

inttemp=array[j];

array[j]=array[j+1];

array[j+1]=temp;

}

if(mode==Work11_4.LOWER&&array[j]

{

inttemp=array[j];

array[j]=array[j+1];

array[j+1]=temp;

}

}

}

}

}

5字符串处理程序,括号匹配

程序运行结果:

括号匹配检测源文件:

CheckBrackets.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importunit9.MyFileFilter;

importjava.io.*;

/**

*5字符串处理程序.

*输入程序的源程序代码行,找出可能存在圆括号,花括号不匹配的错误.

*@author黎明你好

*/

publicclassCheckBracketsextendsJFrameimplementsActionListener,ItemListener

{

privatestaticfinallongserialVersionUID=1L;

privateJFileChooserfileChooser;

privateJButtonopenFileButton;

privateJComboBoxcomboBox;

privateJTextFieldshowRowStringField;

privateJTextFieldshowMessageField;

privateJTextAreatextArea;

privateJPanelnorthPanel,control_panel;

privateStringrowString[];

privateFilefile=null;

publicCheckBrackets()

{

super("检测圆、花括号匹配程序");

fileChooser=newJFileChooser(System.getProperty("user.dir"));

openFileButton=newJButton("打开文件");

showRowStringField=newJTextField();

showMessageField=newJTextField(20);

textArea=newJTextArea();

comboBox=newJComboBox();

northPanel=newJPanel();

control_panel=newJPanel();

rowString=newString[1000];

fileChooser.addChoosableFileFilter(newMyFileFilter("txt"));//文件筛选

textArea.setLineWrap(true);

showRowStringField.setEditable(false);

showRowStringField.setBackground(Color.WHITE);

showMessageField.setEditable(false);

showMessageField.setBackground(Color.WHITE);

openFileButton.addActionListener(this);

comboBox.addItemListener(this);

comboBox.addItem("请选择");

control_panel.add(openFileButton);

control_panel.add(newJLabel("选择代码行:

"));

control_panel.add(comboBox);

control_panel.add(newJLabel("检测结果:

"));

control_panel.add(showMessageField);

northPanel.setLayout(newGridLayout(2,1,10,10));

northPanel.add(control_panel);

northPanel.add(showRowStringField);

this.add(northPanel,BorderLayout.NORTH);

this.add(newJScrollPane(textArea),BorderLayout.CENTER);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setBounds(50,50,550,500);

this.setVisible(true);

this.validate();

}

publicvoidactionPerformed(ActionEvente)

{

showMessageField.setText("");

intmessage=fileChooser.showOpenDialog(this);

if(message==JFileChooser.APPROVE_OPTION)

{

file=fileChooser.getSelectedFile();

comboBox.removeAllItems();

comboBox.addItem("请选择");

readFile(file);

}

}

publicvoiditemStateChanged(ItemEvente)

{

intindex=comboBox.getSelectedIndex();

if(index>=1)

{

showRowStringField.setText(rowString[index-1]);

charc[]=rowString[index-1].toCharArray();

intcount1=0;

intcount2=0;

for(inti=0;i

{

if(c[i]=='{')

count1++;

if(c[i]=='}')

count1--;

if(c[i]=='(')

count2++;

if(c[i]==')')

count2--;

System.out.println("大括号"+count1+",小括号:

"+count2);

}

if(count1!

=0)

showMessageField.setText("第"+index+"行,大括号'{}'匹配错误");

elseif(count2!

=0)

showMessageField.setText("第"+index+"行,小括号'()'匹配错误");

elseif(count1!

=0&&count2!

=0)

showMessageField.setText("第"+index+"行,大、小括号都匹配错误");

elseif(count1==0&&count2==0)

showMessageField.setText("括号匹配正确");

}

}

publicvoidreadFile(Filef)

{

if(f!

=null)

try

{

FileReaderfile=newFileReader(f);

BufferedReaderin=newBufferedReader(file);

Strings=newString();

inti=0;

textArea.setText("");

while((s=in.readLine())!

=null)

{

textArea.append((i+1)+":

"+s+"\n");

rowString[i]=s;

comboBox.addItem(i+1);

i++;

}

}

catch(Exceptione)

{

System.out.println(""+e.toString());

}

}

publicstaticvoidmain(String[]args)

{

newCheckBrackets();

}

}

6计算器程序。

程序运行结果:

简易计算器程序原文件:

Calculator.java

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

/**

*计算器程序.

*三个文本框,加、减、乘、除按钮在前两个文本框分别输入两个运算数点击按钮后,在第三个文本框中显示计算结果.

*@author黎明你好

*/

publicclassCalculatorextendsJFrameimplementsActionListener

{

privatestaticfinallongserialVersionUID=1L;

privateJTextFieldoneField,twoField,resultField;

privateJButtonaddButton,subtractButton,multiplyButton,divideButton,cleanButton;

privateJPanelpanel1,panel2,panel3;

publicCalculator()

{

super("简易计算器");

oneField=newJTextField(10);

twoField=newJTextField(10);

resultField=newJTextField(20);

addButton=newJButton("+");

subtractButton=newJButton("-");

multiplyButton=newJButton("*");

divideButton=newJButton("/");

cleanButton=newJButton

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1