1编程题参考答案0001Word文件下载.docx
- 文档编号:18871423
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:7
- 大小:17.57KB
1编程题参考答案0001Word文件下载.docx
《1编程题参考答案0001Word文件下载.docx》由会员分享,可在线阅读,更多相关《1编程题参考答案0001Word文件下载.docx(7页珍藏版)》请在冰豆网上搜索。
x=x/10;
}returnb;
请编写方法doublegetSum(intx),该方法的功能是返回正整数x的各位数字的平均值。
doublerevInt(intx){
intb=0,g,n=0;
n++;
return(double)b/n;
37.编写方法doublesumS(intn),已知参数n,求以下表达式前n项的和S返回。
s=2/1+3/2+5/3+8/5+13/8+⋯⋯注:
下一项的分母=上一项的分子,下一项的分子=上一项的分子与分母的和。
2015.10
doublesumS(intn){//要特别注意数据类型哟!
!
inti;
doubles=0.0;
intfz=2,fm=1,temp;
//temp用于保存前一个分母,避免覆盖
for(i=1;
i<
=n;
i++){
temp=fm;
//改变前的分母s=s+(double)fz/fm;
fm=fz;
fz=fz+temp;
returns;
(二)字符串的运算
37.请编写方法voidstrReverse(Stringstr),该方法的功能是输出一个新字符串,新字符串字符排列顺序与原字符串str的字符排列顺序相反。
例如,strReverse(″ABCD″)所输出的结果是″DCBA″。
请使用字符串与字节数组的相互转换方法进行设计。
2010.1voidstrReverse(Stringstr){
Stringn="
"
;
for(int
i=0;
=str.length()-1;
n=n+str.substring(str.length()-1-i,str.length()-i);
System.out.println(n);
}/////////////////////////////////////////////////////voidstrReverse(Stringstr){
byteb[]=str.getBytes();
bytet;
for(inti=0;
b.length/2;
t=b[i];
b[i]=b[b.length-1-i];
b[b.length-1-i]=t;
Stringn=newString(b);
37.请编写方法intcountNum(Stringstr),该方法的功能是统计已知字符
串str中数字的个数。
例如,countNum("
A42B83C2D"
)的返回值是5。
2010.10
intcountNum(Stringstr){
intn=0;
//将字符串转换为字节数组来处理
b.length;
i++){if(b[i]>
=48&
&
b[i]<
=57)n++;
//也可以写成if(b[i]>
='
0'
9'
)n++;
returnn;
(3)数组的运用
37.编写方法intsearchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。
2009.10
intsearchMaxNumIndex(int[]a){intmax=a[0],n=0;
for(inti=1;
a.length;
if(a[i]>
max){max=a[i];
n=i;
}
37.请编写方法doubleaverageOfArray(double[]a),返回非空数组中正数的平均值(数组中可能有非正数元素)。
2011.1doubleaverageOfArray(double[]a){
doublesum=0.0;
intn=0;
0){sum=sum+a[i];
n++;
}//注意把这个两个语句放在IF
中
returnsum/n;
37.请编写方法intcountOddNum(int[]a),该方法的功能是求已知数组a中奇数的个数。
要求根据方法的功能写出方法的代码。
2016.10
intcountOddNum(int[]a){
if(a[i]%2!
=0)n++;
37.编写方法int[]delete(int[]a,intd),方法将创建一个新数组b,新数
组b中只包含原数组中所有值不等于d的元素,并返回该新数组b。
2012.1int[]delete(int[]a,intd){
intn=0,k=0;
//k用来表示下标for(inti=0;
i++)//先计算出b数组的长度
if(a[i]!
=d)n++;
intb[]=newint[n];
//然后定义数组b
i++){if(a[i]!
=d){b[k]=a[i];
k++;
}//注意这里不能用b[i],只能用b[k]
}returnb;
37.请编写方法int[]cubeArray(int[]a),返回一个新数组b,数组b的长度与参数数组的长度相同,其元素的值是参数数组对应各元素值的立方。
2012.10int[]cubeArray(int[]a){
intb[]=newint[a.length];
b[i]=a[i]*a[i]*a[i];
37.编写方法int[]arrayReverse(int[]a),该方法的功能是返回一个新的数组b,新数组的元素排列顺序与参数数组的元素排列顺序相反。
2014.4int[]arrayReverse(int[]a){
intb[]=newint[a.length],n=0;
for(inti=a.length-1;
i>
=0;
i--){
b[n]=a[i];
//或者写成b[a.length-i-1]=a[i];
37.请编写一个方法intfindMaximum(int[][]numbers),要求该方法返回二维数组中元素的最大值。
2011.10
intfindMaximum(int[][]numbers){
intmax=numbers[0][0];
//注意max只能初始成第一个元素
numbers.length;
i++){//访问行for(int
j=0;
j<
numbers[i].length;
j++){//访问
行中的列
if(numbers[i][j]>
max)
max=numbers[i][j];
returnmax;
37.编写方法int[][]transpose(int[][]a),方法将生成并返回一个新数组b,该数组为a的转置数组。
注:
数组转置指的是将数组的行、列内容互换。
2013.10int[][]transpose(int[][]a){
intb[][]=newint[a[0].length][a.length];
//a的列数为b的行数,a的行数为b的列数
i++){for(intj=0;
a[i].length;
j++){
b[j][i]=a[i][j];
第二题:
图形用户界面设计题
1、完成界面设计(界面的设计:
JFrame;
布局:
FlowLayout、BorderLayout、GridLayout、CardLayout,null;
常用组件:
JLabe、lJTextField、JButton、JTextArea、JPane⋯l⋯;
事件处理)
(1)JFrame的应用importjava.awt.*;
importjavax.swing.*;
classMFrameextendsJFrame{
MFrame(Strings){super(s);
//布局
//组件创建与加载
this.pack();
//this.setSize(300,200);
this.setBounds(300,200,400,500);
this.setVisible(true);
this.setDefaultColoseOperation(JFrame.EXIT_ON_COLOSE);
举例:
2009年1月、2010年1月、2014年4月、2015年10月、2016年10月最后一题
(2)事件的处理actionEvent
importjava.awt.*;
importjava.awt.event.*;
classMFrameextendsJFrame
implementsActionListener{
MFrame(Strings){
super(s);
//为事件源添加监视器
this.setBounds(300,200,400,500);
//重写事件处理的方法
publicvoidactionPerformed(ActionEvente){if(e.getSource()==事件源对象){//具体的事件处理内容
}举例:
2013年10月(3)事件处理中的两种常见问题:
a、文本框中数字的运算double
c=Doble.parseDouble(text1.getText());
//将文本框的内容转换为数字
doublef=c*9/5+32;
text2.setText(f+””);
//text2.setText(String.valueOf(h));
//将运算结果转换为字符串写回文本框举例:
2010年10月、2011年1月b、字符串的分析
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==button){
Strings=textA.getText();
doublesum=0;
StringTokenizerfenxi=newStringTokenizer(s,"
\n"
);
//创建字符串分析对象
while(fenxi.hasMoreTokens()){//循
环访问分析后的子串
sum=sum+Double.parseDouble(fenxi
.nextToken());
//将子串转换为数字参与运算
//将结果
textA.setText(sum+””);
写回文本框
2009年10月、2012年1月、
2012年10月、2015年4月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 参考答案 0001