04747Java语言程序设计(一)-数组和字符串
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数组和字符串 2008.10
4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用 java. util 包中的 类是( A.String ) D 选择题,1 分
B.StringBuffer D.stringTokenizer .
填空题 2 分
C.StringTokenizer
14.设有数组 a 和 b 的定义如下: int[]a={1,2,3};int[]b={4,5,6} ……
14.设有两个字符串对象 str1 和 str2,则表达式“strl= =str2”的意义是判别字符串 strl 和 str2______。引用的是否为同一个对象 引用的是否为同一个对象 引用的是否为同 27.方法 int sigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。程序填空题,每空 2 分 程序填空题, static int sigmaEvenNum(int []a){ int s =0; for ( int i=0;______;i++ ) { if(______) s++; } return s; } 33.阅读下列程序,请写出该程序的输出结果。 class Test33 { static void s (int b[ ], int k) { i<a.length a[i]%2= =0
第 5 页 共 7 页
} } ) 在输入对话框中输入文字,并以多好作为分割符输出单词个数, 在输入对话框中输入文字,并以多好作为分割符输出单词个数,及各个单词 37.请编写方法 void strReverse(String str),该方法的功能是输出一个新字符串,新字符串字 符排列顺序与原字符串 str 的字符排列顺序相反。例如,strReverse(″ABCD″) 所输出的结 public static void strReverse(String str){ byte[] byte[] s=str.getBytes(); String t=""; for( i=s.length-1;i>=0;i---){ for(int i=s.length-1;i>=0;i--){ t+=(char char)s[i]; t+=(char)s[i]; } System.out.println(t); }
int i, j, t; for(i = 1;i< k; i++) { for(t = b[i], j = i-1; j >= 0 && t < b[j]; j--) b[j+l] = b[j]; b[j+ 1 ] = t; } } public static void main(String []args){ int i, a[] = {6, 12, 7, 11, 5 }; s(a, 5); for(i = 0;i< a.length; i++) System.out.print(a[i]+" "); System. out. Println(); } } 5 6 7 11 12 37.编写方法 int searchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。 int searchMaxNumIndex(int[]a){ int i,maxIndex;(1分)
2010.10
4.设有数组定义 int[][] x={{1,2},{3,4,5},{6},{}}; ,则 x.length 的值为( A.3 C.6 B.4 D.7 ) B
14.使用默认字节字符对应表,将字符串转化为字节数组的方法是______。 getBytes() 33.阅读下列程序,请写出该程序的输出结果。 class Test33 { static int merger(int [] a, int []b, int []c){ int i = 0, j = 0, k = 0; while(i < a.length && j < b.length) { if(a[i] < b[j])c[k++] = a[i++]; else c[k++] = b[j++]; } while(i < a.length) c[k++] = a[i++]; while(j < b.length) c[k++] = b[j++]; return k; } public static void main(String[] args) { int a[] = {3, 6, 9}; int b[] = { 1, 2, 5};
第 4 页 共 7 页
for(i=maxIndex=0;i<a.length;i++){(2分) if(a[i]>a[maxIndex])(1分) maxIndex=i;(1分) } return maxIndex;(1分) }
2010.1
4.在下述 Java 语言语句中,错误的创建数组的方法是 ( .. A.int intArray [ ]; intArray=new int[5]; B.int intArray [ ]=new int[5]; C.int [ ] intArray ={1,2,3,4,5}; D.int intArray [5]={1,2,3,4.5}; . , , , . 14. Java 语言提供了两个用于处理字符串的类, 它们是__________。 String\StringBuffer String\ 27.方法 void moveOddForword(int a[ ])的功能是将数组中的所有奇数移到所有偶数之前。 void moveOddForword(int a[]){ for(int i=0, odd=0;________;i++) if(________){ int t=a[i];a[i]=a[odd];a[odd]=t;odd++; } } 33.阅读下列程序,请写出该程序的功能。 import java.util.*;import javax.swing.*; public class Test33{ public static void main(String args[]){ String str=(String)JOptionPane.showInputDialog(null,″请输入信息″, ″输入对话框″,JOptionPane.PLAIN_MESSAGE,null,null,null); StringTokenizer pas=new StringTokenizer(str, ″,″); int n=pas.countTokens(); System.out.println(″输入的信息有单词:″+n+″个,全部单词如下:″); while(pas.hasMoreTokens()){ String s=pas.nextToken(); System.out.println(s); i<a.length a[i]%2= = 0 ) D
执行以下代码“a=b; ”,除了完成赋值操作之外,引起系统额外要做的工作是_________。
回收内存
33.阅读下列程序,请写出该程序的功能。 import java. util.*; public class Class1{ public static void main(Srting args[]){ Date date1=new Date(); System. out. println (datel); String t=datel.toString(); int endPos=t.indexOf(`C'); t=t.substring(11,endPos); System. out println(t); } }
33.阅读下列程序,请写出调用 pascal(4)的输出结果。 static void pascal(int n) { int pas[]; pas = new int[n]; pas[0] = 1; System.out.println(pas[0]); for (int i = 2; i <= n; i++) { /* 由存储在 pas 中的原来内容生成新内容*/ pas[i - l] =1; for (int j = i- 2;j > 0; j--) pas[j] = pas[j] + pas[j - 1 ]; for (int j = 0; j < i; j++)
2009.10
4.以下是关于字符串运算的代码,执行该代码段的输出结果是(
第 3 页 共 7 页
)
D
String
s=″0123456789″,sl,s2;
sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2); A.0122345 C.012234 B.234567892345 D.23456789234 .
程序分析题 4 分
程序获取当前日期,将日期字符串表示输出( ,截取日期字符串中从第 程序获取当前日期,将日期字符串表示输出(2 分) 截取日期字符串中从第 11 位开始 , 到字母’C’之前的部分字符串,并输出。 (2 到字母 之前的部分字符串,并输出。 分) 之前的部分字符串 ( 37.编写一个方法 halfArray(),要求该方法有一个元素类型为 int 的数组参数,方法返 回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各 元素的一半。
第 2 页 共 7 页
System.out.print(pas[j] +" "); System.out.println(); } }
1 1 1 1 1 2 3 1 3 1
37.编写数组复制方法。 该方法从已知平衡的两维数组的左下角复制出一个非平衡的三角 二维数组。设复制数组方法的模型为:
public static double[][] leftDownConer(double[][]anArray){ int l1= anArray.length; int l2=anArray[0].length; double temp[][]; if(l1<=l2){ temp=new double[l1][]; for(int i=0;i<l1;i++){ temp[i]=new double[i+1]; for(int j=0;j<i+1;j++) temp[i][j]=anArray[i][j]; } return temp; }else{ temp=new double[l2][]; for(int i=0;i<l2;i++){ temp[i]=new double[i+1]; for(int j=0;j<i+1;j++) temp[i][j]=anArray[l1-l2+i][j]; } return temp; } }
第 1 页 共 7 页
程序设计题,6 分
int [] halfArray(int[] a){ int[] b=new int[a.length]; for(int k=0;k<a.length;k++){ b[k]=a[k]/2; } Return b; }
2009.1
4.设有以下代码: String s l="123"; String s2="123"; String s3=new String("123"); 则表达式 s1= =s2 和 s1= =s3 的值分别是( A.true,true B.false,false C.true,falseD.false,true , 14.设有字符串定义: String s="ABCDABCD"; 则表达式 s.indexOf("B")的值是_________。 1 ) C
int []c = new int[100]; int p = merger(a, b, c); for(int k = 0; k < p; k++)
第 6 页 共 7 页
Βιβλιοθήκη Baidu
System.out.print(c[k]+ (k < p-1 ? " ":"\n")); } } 123569 37.请编写方法 int countNum(String str),该方法的功能是统计已知字符串 str 中数字的个数。 例如,countNum("A42B83C2D")的返回值是 5。
4.需要分析字符串,并将字符串分解成可被独立使用的单词,可使用 java. util 包中的 类是( A.String ) D 选择题,1 分
B.StringBuffer D.stringTokenizer .
填空题 2 分
C.StringTokenizer
14.设有数组 a 和 b 的定义如下: int[]a={1,2,3};int[]b={4,5,6} ……
14.设有两个字符串对象 str1 和 str2,则表达式“strl= =str2”的意义是判别字符串 strl 和 str2______。引用的是否为同一个对象 引用的是否为同一个对象 引用的是否为同 27.方法 int sigmaEvenNum(int[]a)的功能是求已知数组中偶数的个数。程序填空题,每空 2 分 程序填空题, static int sigmaEvenNum(int []a){ int s =0; for ( int i=0;______;i++ ) { if(______) s++; } return s; } 33.阅读下列程序,请写出该程序的输出结果。 class Test33 { static void s (int b[ ], int k) { i<a.length a[i]%2= =0
第 5 页 共 7 页
} } ) 在输入对话框中输入文字,并以多好作为分割符输出单词个数, 在输入对话框中输入文字,并以多好作为分割符输出单词个数,及各个单词 37.请编写方法 void strReverse(String str),该方法的功能是输出一个新字符串,新字符串字 符排列顺序与原字符串 str 的字符排列顺序相反。例如,strReverse(″ABCD″) 所输出的结 public static void strReverse(String str){ byte[] byte[] s=str.getBytes(); String t=""; for( i=s.length-1;i>=0;i---){ for(int i=s.length-1;i>=0;i--){ t+=(char char)s[i]; t+=(char)s[i]; } System.out.println(t); }
int i, j, t; for(i = 1;i< k; i++) { for(t = b[i], j = i-1; j >= 0 && t < b[j]; j--) b[j+l] = b[j]; b[j+ 1 ] = t; } } public static void main(String []args){ int i, a[] = {6, 12, 7, 11, 5 }; s(a, 5); for(i = 0;i< a.length; i++) System.out.print(a[i]+" "); System. out. Println(); } } 5 6 7 11 12 37.编写方法 int searchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。 int searchMaxNumIndex(int[]a){ int i,maxIndex;(1分)
2010.10
4.设有数组定义 int[][] x={{1,2},{3,4,5},{6},{}}; ,则 x.length 的值为( A.3 C.6 B.4 D.7 ) B
14.使用默认字节字符对应表,将字符串转化为字节数组的方法是______。 getBytes() 33.阅读下列程序,请写出该程序的输出结果。 class Test33 { static int merger(int [] a, int []b, int []c){ int i = 0, j = 0, k = 0; while(i < a.length && j < b.length) { if(a[i] < b[j])c[k++] = a[i++]; else c[k++] = b[j++]; } while(i < a.length) c[k++] = a[i++]; while(j < b.length) c[k++] = b[j++]; return k; } public static void main(String[] args) { int a[] = {3, 6, 9}; int b[] = { 1, 2, 5};
第 4 页 共 7 页
for(i=maxIndex=0;i<a.length;i++){(2分) if(a[i]>a[maxIndex])(1分) maxIndex=i;(1分) } return maxIndex;(1分) }
2010.1
4.在下述 Java 语言语句中,错误的创建数组的方法是 ( .. A.int intArray [ ]; intArray=new int[5]; B.int intArray [ ]=new int[5]; C.int [ ] intArray ={1,2,3,4,5}; D.int intArray [5]={1,2,3,4.5}; . , , , . 14. Java 语言提供了两个用于处理字符串的类, 它们是__________。 String\StringBuffer String\ 27.方法 void moveOddForword(int a[ ])的功能是将数组中的所有奇数移到所有偶数之前。 void moveOddForword(int a[]){ for(int i=0, odd=0;________;i++) if(________){ int t=a[i];a[i]=a[odd];a[odd]=t;odd++; } } 33.阅读下列程序,请写出该程序的功能。 import java.util.*;import javax.swing.*; public class Test33{ public static void main(String args[]){ String str=(String)JOptionPane.showInputDialog(null,″请输入信息″, ″输入对话框″,JOptionPane.PLAIN_MESSAGE,null,null,null); StringTokenizer pas=new StringTokenizer(str, ″,″); int n=pas.countTokens(); System.out.println(″输入的信息有单词:″+n+″个,全部单词如下:″); while(pas.hasMoreTokens()){ String s=pas.nextToken(); System.out.println(s); i<a.length a[i]%2= = 0 ) D
执行以下代码“a=b; ”,除了完成赋值操作之外,引起系统额外要做的工作是_________。
回收内存
33.阅读下列程序,请写出该程序的功能。 import java. util.*; public class Class1{ public static void main(Srting args[]){ Date date1=new Date(); System. out. println (datel); String t=datel.toString(); int endPos=t.indexOf(`C'); t=t.substring(11,endPos); System. out println(t); } }
33.阅读下列程序,请写出调用 pascal(4)的输出结果。 static void pascal(int n) { int pas[]; pas = new int[n]; pas[0] = 1; System.out.println(pas[0]); for (int i = 2; i <= n; i++) { /* 由存储在 pas 中的原来内容生成新内容*/ pas[i - l] =1; for (int j = i- 2;j > 0; j--) pas[j] = pas[j] + pas[j - 1 ]; for (int j = 0; j < i; j++)
2009.10
4.以下是关于字符串运算的代码,执行该代码段的输出结果是(
第 3 页 共 7 页
)
D
String
s=″0123456789″,sl,s2;
sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2); A.0122345 C.012234 B.234567892345 D.23456789234 .
程序分析题 4 分
程序获取当前日期,将日期字符串表示输出( ,截取日期字符串中从第 程序获取当前日期,将日期字符串表示输出(2 分) 截取日期字符串中从第 11 位开始 , 到字母’C’之前的部分字符串,并输出。 (2 到字母 之前的部分字符串,并输出。 分) 之前的部分字符串 ( 37.编写一个方法 halfArray(),要求该方法有一个元素类型为 int 的数组参数,方法返 回一个新数组,新数组的长度与参数数组的长度相同,而新数组元素的值是参数数组各 元素的一半。
第 2 页 共 7 页
System.out.print(pas[j] +" "); System.out.println(); } }
1 1 1 1 1 2 3 1 3 1
37.编写数组复制方法。 该方法从已知平衡的两维数组的左下角复制出一个非平衡的三角 二维数组。设复制数组方法的模型为:
public static double[][] leftDownConer(double[][]anArray){ int l1= anArray.length; int l2=anArray[0].length; double temp[][]; if(l1<=l2){ temp=new double[l1][]; for(int i=0;i<l1;i++){ temp[i]=new double[i+1]; for(int j=0;j<i+1;j++) temp[i][j]=anArray[i][j]; } return temp; }else{ temp=new double[l2][]; for(int i=0;i<l2;i++){ temp[i]=new double[i+1]; for(int j=0;j<i+1;j++) temp[i][j]=anArray[l1-l2+i][j]; } return temp; } }
第 1 页 共 7 页
程序设计题,6 分
int [] halfArray(int[] a){ int[] b=new int[a.length]; for(int k=0;k<a.length;k++){ b[k]=a[k]/2; } Return b; }
2009.1
4.设有以下代码: String s l="123"; String s2="123"; String s3=new String("123"); 则表达式 s1= =s2 和 s1= =s3 的值分别是( A.true,true B.false,false C.true,falseD.false,true , 14.设有字符串定义: String s="ABCDABCD"; 则表达式 s.indexOf("B")的值是_________。 1 ) C
int []c = new int[100]; int p = merger(a, b, c); for(int k = 0; k < p; k++)
第 6 页 共 7 页
Βιβλιοθήκη Baidu
System.out.print(c[k]+ (k < p-1 ? " ":"\n")); } } 123569 37.请编写方法 int countNum(String str),该方法的功能是统计已知字符串 str 中数字的个数。 例如,countNum("A42B83C2D")的返回值是 5。