第五章 判断题数组.docx
- 文档编号:13993807
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:18
- 大小:20.12KB
第五章 判断题数组.docx
《第五章 判断题数组.docx》由会员分享,可在线阅读,更多相关《第五章 判断题数组.docx(18页珍藏版)》请在冰点文库上搜索。
第五章判断题数组
第五章判断题
1、下标用于指出数组中某个元素位置得数字。
()
2、把数组中元素按某种顺序排列得过程叫做查找。
()
3、确定数组中就是否含有某个关键字得过程叫做排序。
()
4、一个数组可以存放许多不同类型得数值。
()
5、数组得下标通常就是float型。
()
6、数组得某个元素被传递给一个方法并被该方法修改,当被调用方法执行完毕时,这个元素中含有修改过得数值。
()
7、数组可以声明为任何数据类型。
()
8、数组由具有一名字与相同类型得一组连续内存单元构成。
()
9、在数组声明中可以用等号及一个逗号分隔得初始值表初始化数组元素,该数组大小只能有用户来决定。
()
10、将一个数组传递给一个方法,必须加在数组名后加方括号。
()
第五章选择题
1、线性表与表可以存储在▁▁中。
A.数组
B.堆栈
C.文件
D.字符串
2、数组元素之所以相关,就是因为它们具有相同得▁▁。
A.名字
B.类型
C.下标
D.地址
3、二维数组使用几个下标。
A.1
B.2
C.3
D.4
4、请瞧下面得程序段:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System、out、println(arr[1]);
}
}
下面说法正确得就是:
A.当编译时会发生错误
B.编译不会发生错误但执行就是会发生错误
C.输出结果为0
D.不会输出结果
5、请瞧下面得程序段:
publicclassPerson{
intarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System、out、println(arr[1]);
}
}
下面说法正确得就是:
A.当编译时会发生错误
B.编译不会发生错误但执行就是会发生错误
C.输出结果为0
D.不会输出结果
6、下面哪个选项正确得声明一个字符型数组:
A.charstr[]
B.charstr[][]
C.Stringstr[]
D.Stringstr[10]
7、下面那一个选项正确创建一个空得含有6个元素得字符数组:
A.Strings[6];
B.String[6]s;
C.Strings[]={“”,””,””,””,””,””};
D.Strings[]=newString[6];
For(intm=0;m<6;m++){s[m]=””;}
E、Strings[]=newString[6];
For(intm=0;m<6;m++){s[m]=null;}
8、请瞧下面得程序段:
publicclassMyClass{
publicstaticvoidmain(Stringarg[]){
intarr[]=newint[3];
System、out、println(“itis“+arr[1]);
}
}
当编译与执行这段代码时会出现:
A.有一个编译错误为“possiblereferencebeforeassignment”
B.有一个编译错误为“illegalarraydeclarationsyntax”
C.有异常出现为“NullPointerException”
D.正确执行并且输出0
9、请瞧下面得程序段
publicclassPerson{
Stringname;
intage;
publicPerson(Stringn,inta)
{name=n;
age=a;}
publicstaticvoidmain(Stringarg[]){
//pointx
}
}
下面选项可以添加到//pointx处:
A.Personp[]=newPerson[3];
P[1]=newPerson(“user1”;24);
B.Personp[];
P=newPerson[3];
P=newPerson(“user2”;56);
C.Personp[]={newPerson(“user1’,34),(“user2”,34)}
D.Personp[]=newPerson{(“user1’,34),(“user2”,34)}
10、请瞧下面得程序段
publicclassTest{
Strings;
intm;
publicTest(Stringt,intn){
s=t;m=n;
}
publicstaticvoidmain(Stringarg[]){
Testt[]={newTest(“abc”,3);
newTest(“ddf”,23)};
//pointx
}
}
下面选项可以添加到//pointx处:
A.System、out、println(“thevalueis”+t[3]、s);
B.System、out、println(“thevalueis”+t[2]、m);
C.System、out、println(“thevalueis”+t[1]、s);
D.System、out、println(“thevalueis”+t[1]、m);
第五章程序设计题
1、编写程序,接受用户输入得若干字符串,并按字典排序输出。
要求使用两种以上得排序算法。
2、上题用桶排序得方法实现。
3、编写一个程序,用户每输入一个字符串,都把它保存在按字典排序得合适位置上,请利用对分法找到合适得插入位置。
4、编程求一个整数数组得最大值、最小值、平均值与所有数组元素得与。
第五章判断题答案
1、难度:
容易
答案:
错误
知识点:
下标用于指出数组中某个元素得数字。
2、难度:
容易
答案:
正确
知识点:
把数组中元素按某种顺序排列得过程叫做排序。
3、难度:
容易
答案:
错误
知识点:
确定数组中就是否含有某个关键字得过程叫做查找。
4、难度:
容易
答案:
错误
知识点:
一个数组只能存放同一类型得数值。
5、难度:
容易
答案:
错误
知识点:
一个数组下标应为整数或整数表达式。
6、难度:
容易
答案:
错误
知识点:
因为数组得单个基本数据类型元素以值调用方式传递。
如果将整个数组传递给方法,数组元素得任何变化都将反映在原来数组上。
另外,如数组单个元素就是类得对象,传递单个元素也以引用调用形式传递给方法,对象得改变将反映在原数组元素上。
7、难度:
容易
答案:
正确
知识点:
数组得使用。
8、难度:
容易
答案:
正确
知识点:
数组得概念。
9、难度:
适中
答案:
错误
知识点:
在数组声明中可以用等号及一个逗号分隔得初始值表初始化数组元素,该数组大小由初始值表中得数据个数决定。
10、难度:
容易
答案:
错误
知识点:
将一个数组传递给一个方法,应使用不加方括号得数组名。
第五章选择题答案
1、难度:
容易
答案:
B
知识点:
线性表与表可以存储在数组中。
2、难度:
容易
答案:
AB
知识点:
数组元素之所以相关,就是因为它们具有相同得名字与类型。
3、难度:
容易
答案:
B
知识点:
二维数组使用双下标。
4、难度:
容易
答案:
C
知识点:
静态数组arr已经被初始化为0。
5、难度:
容易
答案:
A
知识点:
数组arr不就是静态数组,在方法main()中没有被直接访问。
6、难度:
容易
答案:
C
知识点:
不允许在数组名后面得括号内指定数组元素得个数。
7、难度:
适中
答案:
CD
知识点:
“”表示数组元素为空。
8、难度:
适中
答案:
D
知识点:
一旦数组被创建则它得元素就被初始化为0
9、难度:
适中
答案:
ABC
知识点:
可以用初始值来创建数组p,选项D书写不合法。
10、难度:
适中
答案:
CD
知识点:
数组t得长度位,它得下标就是0与1,则使用t[2]与t[3]就是不对得。
第五章程序设计题答案
1、难度:
难
答案:
源程序:
Paixu、java
importjava、applet、*;
importjava、awt、*;
importjava、awt、event、*;
publicclassPaixuextendsAppletimplementsActionListener
{
finalStringSORT_METHOD_NAME[]={"冒泡排序","选择排序"};
Labelprompt=newLabel("请输入欲排序得字符串(最多10个):
");
TextFieldinput=newTextField(5);
ButtonsortBubbleBtn=newButton(SORT_METHOD_NAME[0]);
ButtonsortSelectBtn=newButton(SORT_METHOD_NAME[1]);
String[]OrigArray=newString[10];//保存排序前顺序得数组
String[]DataArray=newString[10];//保存待排序数据得数组
intDataInputed=0;//已输入数据得统计
String[][]SortPro=newString[11][10];//保存排序过程得二维数组
publicvoidinit()//初始化
{
for(inti=0;i<10;i++)
{
DataArray[i]="";
OrigArray[i]="";
SortPro[10][i]="";
for(intj=0;j<10;j++)
SortPro[i][j]="";
}
add(prompt);
add(input);
add(sortBubbleBtn);//将提示,输入区域,按钮加入Applet
add(sortSelectBtn);
input、setText("");
input、addActionListener(this);
sortBubbleBtn、addActionListener(this);
sortSelectBtn、addActionListener(this);
}
publicvoidpaint(Graphicsg)//打印排序全过程
{
for(inti=0;i
for(intj=0;j
//二维数组第i行中得数据个数
{
//try
//{
g、drawString(SortPro[i][j],10+80*j,40+20*i);
//}
//catch(NullPointerExceptionnpe)
//{
//System、out、println(i+","+j);
//}
}
}
publicvoidactionPerformed(ActionEvente)
{
if(e、getSource()==input)//用户在input中输入并回车时
{//记录数据
DataArray[DataInputed]=input、getText();
OrigArray[DataInputed]=DataArray[DataInputed];
DataInputed++;
if(DataInputed<10)
{
prompt、setText("已输入"+DataInputed+"个字符串,请继续");
input、setText("");//准备输入下一个数据
}
else//已输入10个数据
{
prompt、setText("已输入10个字符串,不能再输入了");
input、setVisible(false);//隐藏其输入区域
}
}
if(e、getSource()==sortBubbleBtn)
//用户单击按钮,启动排序过程
{
for(inti=0;i
SortPro[0][i]=DataArray[i];
BubbleSortProcedure();//调用冒泡排序方法
repaint();
for(inti=0;i DataArray[i]=OrigArray[i];//恢复排序前得乱序 } if(e、getSource()==sortSelectBtn) { for(inti=0;i SortPro[0][i]=DataArray[i]; SelectSortProcedure();//调用选择排序方法 repaint(); for(inti=0;i DataArray[i]=OrigArray[i];//恢复排序前得乱序 } } voidBubbleSortProcedure()//冒泡排序方法 { intpass,i,exchangeCnt; Stringtemp=""; for(pass=0;pass { exchangeCnt=0;//记录本轮两两交换得次数 for(i=0;i {//每次扫描比较范围缩小一个 if(DataArray[i]、pareToIgnoreCase(DataArray[i+1])>0)//一次两两比较交换过程 { temp=DataArray[i]; DataArray[i]=DataArray[i+1]; DataArray[i+1]=temp; exchangeCnt++; } } for(i=0;i SortPro[pass+1][i]=DataArray[i]; //记录本轮扫描后数据排列情况 if(exchangeCnt==0) //若一次也未交换,则说明已完全排好序,不必再循环 return; } } voidSelectSortProcedure()//选择排序方法 { intpass,i,k; Stringtemp=""; for(pass=0;pass //选择多次,有序子列在增长 { for(i=pass,k=i;i //一次选择过程,无序子列在减少 if(DataArray[i]、pareToIgnoreCase(DataArray[k])<0)//选择剩余未排序数据中得最小者 k=i; temp=DataArray[pass];//排在剩余数据得最前面 DataArray[pass]=DataArray[k]; DataArray[k]=temp; for(i=0;i SortPro[pass+1][i]=DataArray[i]; //记录本轮选择后数据排列情况 } } } 知识点: 冒泡排序与选择排序方法得使用。 2、难度: 难 答案: 源程序: Paixu、java importjava、applet、*; importjava、awt、*; importjava、awt、event、*; publicclassPaixuextendsAppletimplementsActionListener { finalStringSORT_METHOD_NAME[]={"冒泡排序","桶排序"}; Labelprompt=newLabel("请输入欲排序得字符串(最多10个): "); TextFieldinput=newTextField(5); ButtonsortBubbleBtn=newButton(SORT_METHOD_NAME[0]); ButtonsortSelectBtn=newButton(SORT_METHOD_NAME[1]); String[]OrigArray=newString[10];//保存排序前顺序得数组 String[]DataArray=newString[10];//保存待排序数据得数组 intDataInputed=0;//已输入数据得统计 String[][]SortPro=newString[11][10];//保存排序过程得二维数组 publicvoidinit()//初始化 { for(inti=0;i<10;i++) { DataArray[i]=""; OrigArray[i]=""; SortPro[10][i]=""; for(intj=0;j<10;j++) SortPro[i][j]=""; } add(prompt); add(input); add(sortBubbleBtn);//将提示、输入区域、按钮加入Applet add(sortSelectBtn); input、setText(""); input、addActionListener(this); sortBubbleBtn、addActionListener(this); sortSelectBtn、addActionListener(this); } publicvoidpaint(Graphicsg)//打印排序全过程 {for(inti=0;i for(intj=0;j //二维数组第i行中得数据个数 { try { g、drawString(SortPro[i][j],10+80*j,40+20*i); }catch(NullPointerExceptionnpe) { System、out、println(i+","+j); } } } publicvoidactionPerformed(ActionEvente) { if(e、getSource()==input)//用户在input中输入并回车 {//记录数据 DataArray[DataInputed]=input、getText(); OrigArray[DataInputed]=DataArray[DataInputed]; DataInputed++; if(DataInputed<10) { prompt、setText("已输入"+DataInputed+"个字符串,请继续"); input、setText("");//准备输入下一个数据 } else//已输入10个数据 {prompt、setText("已输入10个字符串,不能再输入了"); input、setVisible(false);//隐藏其输入区域 } } if(e、getSource()==sortBubbleBtn) //用户单击按钮,启动排序过程 { for(inti=0;i SortPro[0][i]=DataArray[i]; BubbleSortProcedure();//调用冒泡排序方法 repaint(); for(inti=0;i DataArray[i]=OrigArray[i];//恢复排序前得乱序 } if(e、getSource()==sortSelectBtn) { for(inti=0;i SortPro[0][i]=DataArray[i]; BucketSortProcedure();//调用桶排序方法 repaint(); for(inti=0;i DataArray[i]=OrigArray[i];//恢复排序前得乱序 } } voidBubbleSortProcedure()//冒泡排序方法 { intpass,i,exchangeCnt; Stringtemp=""; for(pass=0;pass { exchangeCnt=0;//记录本轮两两交换得次数 for(i=0;i {//每次扫描比较范围缩小一个 if(DataArray[i]、pareToIgnoreCase(DataArray[i+1])>0)//一次两两比较交换过程 { temp=DataArray[i]; DataArray[i]=DataArray[i+1]; DataArray[i+1]=temp; exchangeCnt++; } } for(i=0;i SortPro[pass+1][i]=DataArray[i]; //记录本轮扫描后数据排列情况 if(exchangeCnt==0) //若一次也未交换,则说明已完全排好序,不必再循环 return; } } voidBucketSortProcedure()//桶排序方法 {//暂时将字符范围限定在128个ASCII码内,最后一列保存这一行得数据个数 Stringbucket[][]=newString[128][DataInputed+1]; intpass=0;//扫描轮数计数 for(inti=0;i<128;i++) for(intj=0;j bucket[i][j]=""; intstrLength=0,doo=0; StringBuffersb; //补足参差得字符串,使大家长度相同 for(inti=0;i strLength=Math、max(strLength,DataArray[i]、length()); for(inti=0;i if(DataArray[i]、length() { sb=newStringBuffer(DataArray[i]); for(intj=0;j sb、append((char)doo); DataArray[i]=sb、toString(); } do { for(inti=0;i<128;i++) { bucket[i][DataInputed]="0"; } for(inti=0;i { intch; if(DataArray[i]、length()-1>=pass) ch=DataArray[i]、charAt(DataArray[i]、length()-1-pass); else ch=0; if(ch>=128||ch<0) { showStatus("输入得字符超出了处理范围,只能处理ASCII字符串。 "); return; } //去除大小写得影响 if(ch>='A'&&ch<='Z') { System、out、println(ch+","+(char)ch)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 判断题数组 第五 判断 数组