javajava 网络编程问题

第一题:输入字符串长度,字符串,字符串长度,字符串。从后向前比较,以最短字符串为标准,输出不同的元素的个数。
& &&例如&&&输入:
& & & & & & &&输出:1
& & 函数原型
public&int&getDiffNum(int&len1,&String&s1,&int&len2,&String&s2)&
public&class&HuaWeiTest&{&&
public&static&void&main(String[]&args)&{&&
String&s1&=&"1,3,5";&&
String&s2&=&"2,4,1,7,5";&&
int&len1&=&3;&&
int&len2&=&5;&&
HuaWeiTest&hwt&=&new&HuaWeiTest();&&
System.out.println(hwt.getDiffNum(len1,&s1,&len2,&s2));&&
public&int&getDiffNum(int&len1,&String&s1,&int&len2,&String&s2)&&{&&
int&count&=&0;&&
int&len&=&0;&&
String[]&arr1&=&s1.split(",");&&
String[]&arr2&=&s2.split(",");&&
if(len1&&&len2)&len&=&len2;&&
else&len&=&len1;&&
for(int&i=0;i&i++)&{&&
if(!arr1[len1-i-1].equals(arr2[len2-i-1]))&{&&
count&++;&&
public class HuaWeiTest {
public static void main(String[] args) {
String s1 = "1,3,5";
String s2 = "2,4,1,7,5";
int len1 = 3;
int len2 = 5;
HuaWeiTest hwt = new HuaWeiTest();
System.out.println(hwt.getDiffNum(len1, s1, len2, s2));
public int getDiffNum(int len1, String s1, int len2, String s2) &{
int count = 0;
int len = 0;
String[] arr1 = s1.split(",");
String[] arr2 = s2.split(",");
if(len1 & len2) len = len2;
else len = len1;
for(int i=0;i&i++) {
if(!arr1[len1-i-1].equals(arr2[len2-i-1])) {
&第二题:输入字符串长度,字符串,计数。从前往后计数,当数到个元素时,个元素出列,同时将该元素赋值给,然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于的数字。输出出队队列。
& &&例如输入:
& & & & & & &输出:
& & 函数原型
public&String&getOutString(int&len,&String&str,&int&m)&
import&java.util.ArrayL&&
import&java.util.L&&
public&class&HuaWeiTest&{&&
public&static&void&main(String[]&args)&{&&
int&len=4;&&
String&str="3,1,2,4";&&&&&
int&m=7;&&&&
HuaWeiTest&hwt&=&new&HuaWeiTest();&&
System.out.println(hwt.getOutString(len,&str,&m));&&
public&String&getOutString(int&len,&String&str,&int&m)&{&&
String&ret&="";&&
String[]&arr&=&str.split(",");&&
List&String&&ls&=&new&ArrayList&String&();&&
for(int&i=0;i&i++)&{&&
ls.add(arr[i]);&&
for(int&i=0;i&i++)&{&&
int&temp&=&(m-1)%ls.size();&&
ret&+=&ls.get(temp);&&
m&=&Integer.parseInt(ls.get(temp))+&&
ls.remove(temp);&&
import java.util.ArrayL
import java.util.L
public class HuaWeiTest {
public static void main(String[] args) {
int len=4;
String str="3,1,2,4"; &&
int m=7; &
HuaWeiTest hwt = new HuaWeiTest();
System.out.println(hwt.getOutString(len, str, m));
public String getOutString(int len, String str, int m) {
String ret ="";
String[] arr = str.split(",");
List&String& ls = new ArrayList&String&();
for(int i=0;i&i++) {
ls.add(arr[i]);
for(int i=0;i&i++) {
int temp = (m-1)%ls.size();
ret += ls.get(temp);
m = Integer.parseInt(ls.get(temp))+
ls.remove(temp);
一.选秀节目打分,分为专家评委和大众评委,数组里面存储每个评委打的分数,里存储与 数组对应的评委类别,,表示专家 评委,,表示大众评委,表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 专家评委平均分 大众评委 ,总分取整。如果没有大众评委,则 总分 专家评委平均分,总分取整。函数最终返回选手得分。
&&&函数接口
&&[java]&:
public&class&SWTest&{&&
public&static&void&main(String[]&args)&{&&
int&score[]&=&{&&
34,53,65,75,64&&
int&judge_type[]&=&{&&
1,1,1,2,2&&
SWTest&st&=&new&SWTest();&&
System.out.print(st.cal_score(score,&judge_type,&5));&&
int&cal_score(int&score[],&int&judge_type[],&int&n){&&
int&totalExpert&=&0;&&
int&totalPublic&=&0;&&
int&numExpert&=&0;&&
int&numPublic&=&0;&&
for(int&i=0;i&n;i++)&{&&
if(judge_type[i]==1)&{&&
totalExpert&+=&score[i];&&
numExpert&++;&&
if(judge_type[i]&==&2){&&
totalPublic&+=&score[i];&&
numPublic&++;&&
if(0==numPublic){&&
return&(int)totalExpert/numE&&
return&(int)((totalExpert/numExpert)*0.6)&+&&&
(int)((totalPublic/numPublic)*0.4);&&
public class SWTest {
public static void main(String[] args) {
int score[] = {
34,53,65,75,64
int judge_type[] = {
SWTest st = new SWTest();
System.out.print(st.cal_score(score, judge_type, 5));
int cal_score(int score[], int judge_type[], int n){
int totalExpert = 0;
int totalPublic = 0;
int numExpert = 0;
int numPublic = 0;
for(int i=0;i&n;i++) {
if(judge_type[i]==1) {
totalExpert += score[i];
numExpert ++;
if(judge_type[i] == 2){
totalPublic += score[i];
numPublic ++;
if(0==numPublic){
return (int)totalExpert/numE
return (int)((totalExpert/numExpert)*0.6) +
(int)((totalPublic/numPublic)*0.4);
二.给定一个数组,如果数组长度为奇数,则将数组中最大的元素放到 数组最中间的位置,如果数组长度为偶数,则将数组中最大的元素放到 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。 & &&例如:
&& & 函数接口
public&class&SWTest&{&&
public&static&void&main(String[]&args)&{&&
int&input[]&=&{3,6,1,9,7,8};&&
int&output[]&=&new&int[6];&&
SWTest&st&=&new&SWTest();&&
st.sort(input,&6,&output);&&
for(int&i=0;i&output.i++){&&
System.out.print(output[i]);&&
void&sort(int&input[],&int&n,&int&output[]){&&
for(int&i=0;i&n-1;i++){&&
for(int&j=n-1;j&i;j--){&&
if(input[j]&input[j-1])&{&&
int&temp&=&input[j];&&
input[j]&=&input[j-1];&&
input[j-1]&=&&&
int&low&=&n/2-1;&&
int&high&=&n/2+1;&&
output[n/2]&=&input[0];&&
for(int&i=1;i&n;){&&
output[low]&=&input[i];&&
if(i&==&n)&break;&&
output[high]&=&input[i];&&
public class SWTest {
public static void main(String[] args) {
int input[] = {3,6,1,9,7,8};
int output[] = new int[6];
SWTest st = new SWTest();
st.sort(input, 6, output);
for(int i=0;i&output.i++){
System.out.print(output[i]);
void sort(int input[], int n, int output[]){
for(int i=0;i&n-1;i++){
for(int j=n-1;j&i;j--){
if(input[j]&input[j-1]) {
int temp = input[j];
input[j] = input[j-1];
input[j-1] =
int low = n/2-1;
int high = n/2+1;
output[n/2] = input[0];
for(int i=1;i&n;){
output[low] = input[i];
if(i == n)
output[high] = input[i];
三操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级 ,用户任务的优先级 且 。优先级大于的为非法任务,应予以剔除。现有一任务队列,长度为,中的元素值表示任务的优先级,数值越小,优先级越高。函数实现如下功能,将中的任务按照系统任务、用户任务依次存放到 数组和 数组中(数组中元素的值是任务在数组中的下标),并且优先级高的任务排在前面,优先级相同的任务按照入 队顺序排列(即先入队的任务排在前面),数组元素为表示结束。 && & &例如:
&& & & 函数接口
void&scheduler(int&task[],&int&n,&int&system_task[],&int&user_task[]){&&
int&min&=&0&,s&=0,&u&=0&;&&
for(int&i=0;i&n-1;i++)&{&&
min&=&0;&&
for(int&j=0;j&n;j++)&{&&
if(task[min]&task[j])&min&=&j;&&
if(task[min]&50)&{&&
system_task[s++]&=&&&
}else&if(task[min]&=255)&{&&
user_task[u++]&=&&&
task[min]&=&300;&&
system_task[s]=&-1;&&
user_task[u]&=&-1;&&
void scheduler(int task[], int n, int system_task[], int user_task[]){
int min = 0 ,s =0, u =0 ;
for(int i=0;i&n-1;i++) {
for(int j=0;j&n;j++) {
if(task[min]&task[j]) min =
if(task[min]&50) {
system_task[s++] =
}else if(task[min]&=255) {
user_task[u++] =
task[min] = 300;
system_task[s]= -1;
user_task[u] = -1;
四.问题描述: 我国大陆运营商的手机号码标准格式为:国家码手机号码,例如:。特点如下: &&1、 长度位; &2、 以的国家码打头; &3、 手机号码的每一位都是数字。 &请实现手机号码合法性判断的函数(注:考生无需关注手机号码的真实性,也就是说诸如这样的手机号码,我们也认为是合法的),要求: 1) 如果手机号码合法,返回; 2) 如果手机号码长度不合法,返回 3) 如果手机号码中包含非数字的字符,返回; 4) 如果手机号码不是以打头的,返回; 【注】除成功的情况外,以上其他合法性判断的优先级依次降低。也就是说,如果判断出长度不合法,直接返回即可,不需要再做其他合法性判断。 要求实现函数: int s int verifyMsisdn(char* inMsisdn) 【输入】 ,表示输入的手机号码字符串。 【输出】 无 【返回】 判断的结果,类型为。 示例 输入: && 输出: 无 返回:
输入: && 输出: 无 返回:
输入: && 输出: 无 返回:
public&class&PhoneNumber&{&&
public&static&void&main(String[]&args)&{&&
String&&inMsisdn&=&"8";&&
System.out.println(new&PhoneNumber().verifyMsisdn(inMsisdn));&&
int&verifyMsisdn(String&inMsisdn){&&
char[]&inchars&=&inMsisdn.toCharArray();&&
if(inchars.length!=13)&return&1;&&
for(int&i=0;i&13;i++)&{&&
if(!Character.isDigit(inchars[i])){&&
return&2;&&
if((Character.digit(inchars[0],&10)!=8&)||(Character.digit(inchars[1],&10)!=6)&)&return&3;&&
else&return&0;&&
试题一:输入字符串长度len1,字符串s1,字符串长度len2,字符串s2。从后向前比较,以最短字符串为标准,输出不同的元素的个数。
例如: &输入:s1="1,3,5"&len1=3&s2="2,4,1,7,5"&len2=5
public&class&Test1 {
public&static&void&main(String[] args) {
String str1 = "1,3,5";
String str2 = "2,1,6,5";
System.out.println(getDifferentNumber(str1, 3, str2, 4));
public&static&int&getDifferentNumber(String str1, int&len1, String str2, int&len2)
int&count = 0;
int&len = 0;
len = (len1&len2)? len1:len2;
String s1[] = str1.split(",");
String s2[] = str2.split(",");
for(int&i=0;i&++i)
if(!(s2[len2-i-1].equals(s1[len1-i-1])))
试题二:约瑟夫环问题。输入字符串长度,字符串,计数m。从前往后计数,当数到m个元素时,m个元素出列,然后将出列的数字赋值给m。然后从下一个数计数循环,直到所有数字都出列,给定的数全部为大于0的数字。输出出队队列。
public&class&Josephus_Seq {
public&static&void&main(String[] args) {
Josephus jo = new&Josephus(new&int[]{3,1,6,2,5});
jo.ShowInfo();
System.out.println();
jo.doJosephus(3);
class&Node
public&int&
public&Node(int&i)
&this.num&=
&this.next&= null;
class&Josephus
public&Josephus(int[] data)
Node p = new&Node(data[0]);
for(int&i=1;i&data.++i)
p.next&= new&Node(data[i]);
public&void&doJosephus(int&s)
Node p,q = null;
int&step =
while(p.next&!= p)
for(int&i=1;i&i++)
System.out.println(p.num);
q.next&= p.
试题三:手机号码判断问题
public&class&PhoneNumberTest {
public&static&void&main(String[] args) {
PhoneNumberTest pt = new&PhoneNumberTest();
int&res = pt.verifyMsisdn("3");
System.out.println(res);
public&int&verifyMsisdn(String num)
int&res = 0;
char[] ch = num.toCharArray();
if(ch.length&13)
for(int&i=0;i&ch.++i)
if(!('0'&=ch[i]&&ch[i]&='9'))
if(!((ch[0]=='8')&&(ch[1]=='6')))
试题四:使用数组和链表实现数据结构-栈。
//数组实现
public&class&MyStack {
private&Object[] obj&= new&Object[16];
private&int&size&= 0;
public&boolean&isEmpty()
return&size==0;
public&void&clear()
for(int&i=0;i&i++)
obj[i] = null;
public&int&lentgh()
private&void&resize()
Object[] temp = new&Object[obj.length*3/2+1];
for(int&i=0;i&i++)
temp[i] = obj[i];
obj[i] = null;
public&boolean&push(Object data)
if(size&=obj.length)
obj[size++] =
return&true;
public&Object pop()
if(size&== 0)
return&null;
return&obj[--size];
实例应用1:将10进制的正整数转换为n进制
public&String conversion(int&num,int&n)
MyStack ms = new&MyStack();
Integer res =
while(true)
ms.push(res%n);
res = res/n;
if(res == 0)
StringBuffer sb =new&StringBuffer();
while((res=(Integer) ms.pop())!=null)
sb.append(res);
return&sb.toString();
实例应用2:判断括号的匹配
public boolean isMatch(String str) {
MyStack&Character& myStack = new MyArrayStack&Character&();
char[] arr = str.toCharArray();
for (char c : arr) {
Character temp = myStack.pop();
// 栈为空时只将c入栈
if (temp == null) {
myStack.push(c);
// 配对时c不入栈
else if (temp == '[' && c == ']') {
// 配对时c不入栈
else if (temp == '(' && c == ')') {
// 不配对时c入栈
myStack.push(temp);
myStack.push(c);
return myStack.isEmpty();
//链表实现
public&class&MyLinkedStack {
private&LinkedN
private&int&
public&MyLinkedStack()
top&= null;
public&boolean&isEmpty()
return&size&== 0;
public&void&clear()
top&= null;
public&int&length()
public&boolean&push(Object o)
LinkedNode ln = new&LinkedNode();
return&true;
public&Object&pop()
if(top&!= null)
LinkedNode ln =
top&= top.
return&ln.
return&null;
class&LinkedNode
public&LinkedN
试题五:简单四则运算
public&class&Operate {
public&static&void&main(String[] args) {
String exp = "1+3*4+6/2";
System.out.println(calculate(exp));
public&static&int&calculate(String exp)
char[] exps = exp.toCharArray();
int[] num = new&int[20];
int[] str = new&int[20];
int&k1 = k2 = 0;
for(int&i=0;i&exps.i++)
if(exps[i]&='0'&&exps[i]&='9')
num[k1++] = exps[i]-'0';
if(exps[i]=='-'||exps[i]=='+')
str[k2++] = exps[i];
if(exps[i]=='*')
num[k1-1] = num[k1-1]*(exps[i+1]-'0');
if(exps[i]=='/')
num[k1-1] = num[k1-1]/(exps[i+1]-'0');
for(int&i=0;i&num.i++)
System.out.print(num[i]);
System.out.println();
for(int&i=0;i&str.i++)
System.out.print(str[i]);
System.out.println();
int&temp = num[0];
int&j = 0;
while(j&k2)
if(str[j]=='-')
temp = temp - num[j+1];
else&if(str[j]=='+')
temp = temp + num[j+1];
试题六:判断回文字符
public&class&HuiwenArrayTest {
public&static&void&main(String[] args) {
int[] a = new&int[]{1,2,2,1};
System.out.println(HuiwenArrayTest.judge(a));
public&static&boolean&judge(int[] array)
for(int&i=0;i&array.length/2;i++)
if(array[i] == array[array.length-1-i])
return&false;
return&true;
试题七:求两个数组的异集(A和B的交集)
public&static&void&start(Integer[] a, Integer[] b)
List&Integer& list = new&ArrayList&Integer&();
for(int&i=0;i&a.++i)
for(int&j=0;j&b.++j)
if(b[j] == a[i])
list.add(a[i]);
System.out.println(list);
试题八:逆序链表
非递归实现:
public&void&reverse()
MyTestNode pre = null,post = null;
MyTestNode p =
while(p.next!=null)
if(post == null)
p.next&= pre;
试题九:一副牌中发五张扑克牌给你:让你判断数字的组成:有以下几种情况: 1:四条:即四张一样数值的牌(牌均不论花色) &2:三条带一对 3:三条带两张不相同数值的牌 4:两对 &&5:顺子&&包括&10,J,Q,K,A 6:什么都不是 &7:只有一对 &
public&class&Puke {
public&static&void&main(String[] args) {
int[] a = new&int[]{1,2,3,4,5};
public&static&void&start(int&a[])
for(int&i=0;i&a.i++)
for(int&j=i+1;j&a.j++)
int&tmp = 0;
if(a[i]&a[j])
tmp = a[i];
a[i] = a[j];
int&k = 0;
for(int&i=0;i&4;i++)
if(a[i]==a[i+1])
if(a[0]==a[3])
System.out.println("四条");
System.out.println("三条带一对");
if(a[1]!=a[2]||a[2]!=a[3])
System.out.println("三条带两个不同的");
System.out.println("两对");
System.out.println("一对");
if(a[4]-a[0]==4&&a[4]-a[1]==3&&a[4]-a[2]==2&&a[4]-a[3]==1)
System.out.println("顺子");
System.out.println("什么都不是");
试题十:选秀节目打分,分为专家评委和大众评委,数组里面存储每个评委打的分数,里存储与 数组对应的评委类别,,表示专家评委,,表示大众评委,表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分 专家评委平均分 &大众评委 ,总分取整。如果没有大众评委,则 总分 专家评委平均分,总分取整。函数最终返回选手得分。
public&class&Mark {
public&static&void&main(String[] args) {
int[] a = new&int[]{20,10,40,50};
int[] b = new&int[]{1,2,1,2};
System.out.println(new&Mark().doMark(a, b));
public&int&doMark(int[] score,int[] s)
int&result = 0;
int&dazhong = 0;
int&zhuanye = 0;
int&total = 0;
for(int&i=0;i&s.i++)
total+=s[i];
if(total==score.length)
for(int&i=0;i&score.i++)
zhuanye+=score[i];
result = zhuanye/score.
int&tmpa=0;
int&tmpb=0;
for(int&i=0;i&score.i++)
if(s[i]==1)
dazhong+=score[i];
else&if(s[i]==2)
zhuanye+=score[i];
System.out.println(dazhong);
System.out.println(zhuanye);
result = (int) (dazhong/tmpa*0.4 + zhuanye/tmpb*0.6);
试题十一:给定一个数组,如果数组长度为奇数,则将数组中最大的元素放到 数组最中间的位置,如果数组长度为偶数,则将数组中最大的元素放到 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。&
public&class&ArrayTest {
public&static&void&main(String[] args) {
int[] input = new&int[]{3,6,1,9,7,8};
int[] output = new&int[]{0,0,0,0,0,0};
arrange(input, output);
public&static&void&arrange(int[] input,int[] output)
//首先冒泡排序
for(int&i=0;i&input.++i)
for(int&j=i+1;j&input.++j)
int&tmp = 0;
if(input[i]&input[j])
tmp = input[i];
input[i] = input[j];
input[j] =
//根据题目要求进行分配
output[output.length/2] = input[0];
int&left = 0;
int&right = 0;
for(int&i=1;i&output.i++)
if(!(i%2 == 0))
System.out.println(output.length/2-left+":"+input[i]);
output[output.length/2-left] = input[i];
else&if(i%2 == 0)
System.out.println(output.length/2-left+":"+input[i]);
output[output.length/2+right] = input[i];
for(int&i=0;i&output.++i)
System.out.print(output[i]);
试题十二:操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级 ,用户任务的优先级 且 。优先级大于的为非法任务,应予以剔除。现有一任务队列,长度为,中的元素值表示任务的优先级,数值越小,优先级越高。函数实现如下功能,将中的任务按照系统任务、用户任务依次存放到 数组和 数组中(数组中元素的值是任务在数组中的下标),并且优先级高的任务排在前面,数组元素为表示结束。
public&class&Task {
public&static&void&main(String[] args) {
int[] task = new&int[]{24,56,12,78,23,6,234};
doTask(task);
public&static&void&doTask(int[] task)
int[] tempTask = new&int[task.length];
for(int&i=0;i&task.i++)
tempTask[i] = task[i];
for(int&i=0;i&tempTask.i++)
System.out.print(" "+tempTask[i]);
for(int&i=0;i&task.i++)
int&tmp = 0;
for(int&j=i+1;j&task.j++)
if(task[i]&task[j])
tmp = task[i];
task[i] = task[j];
System.out.println();
for(int&i=0;i&task.i++)
System.out.print(" "+task[i]);
int[] index = new&int[task.length];
for(int&i=0;i&task.i++)
for(int&j=0;j&tempTask.j++)
if(task[i] == tempTask[j])
index[i] =
System.out.println();
//执行分发
List&Integer& sys_List = new&ArrayList&Integer&();
List&Integer& usr_List = new&ArrayList&Integer&();
for(int&i=0;i&task.i++)
if(50&task[i])
sys_List.add(index[i]);
else&if(task[i]&=50&&task[i]&=255)
usr_List.add(index[i]);
sys_List.add(-1);
usr_List.add(-1);
System.out.println(sys_List);
System.out.println(usr_List);
试题十三:将一个字符串的元音字母复制到另一个字符串,并排序(30分)
问题描述:有一字符串,里面可能包含英文字母(大写、小写)、数字、特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序)。
说明:1、 元音字母是a,e,i,o,u,A,E,I,O,U。 2、 筛选出来的元音字母,不需要剔重;
最终输出的字符串,小写元音字母排在前面,大写元音字母排在后面,依次有序。
public&class&StrTest {
public&static&void&main(String[] args) {
System.out.println(doSomething("adskjflssiAUIOWESLJFIOowfilk"));
public&static&String doSomething(String str)
StringBuffer sb = new&StringBuffer();
char[] ch = str.toCharArray();
for(int&i=0;i&ch.++i)
if(ch[i]=='a'||ch[i]=='e'||ch[i]=='i'||ch[i]=='o'||ch[i]=='u'
||ch[i]=='A'||ch[i]=='E'||ch[i]=='I'||ch[i]=='O'||ch[i]=='U')
sb.append(ch[i]);
char[] tmpch = sb.toString().toCharArray();
StringBuffer small = new&StringBuffer();
StringBuffer big = new&StringBuffer();
for(int&i=0;i&tmpch.++i)
if(tmpch[i]&='a'&&tmpch[i]&='u')
small.append(tmpch[i]);
big.append(tmpch[i]);
char[] chsmal = small.toString().toCharArray();
char[] chbig = big.toString().toCharArray();
for(int&i=0;i&chsmal.i++)
char&tmp = ' ';
for(int&j=i+1;j&chsmal.j++)
if(chsmal[j]&chsmal[i])
tmp = chsmal[j];
chsmal[j] = chsmal[i];
chsmal[i] =
for(int&i=0;i&chbig.i++)
char&tmp = ' ';
for(int&j=i+1;j&chbig.j++)
if(chbig[j]&chbig[i])
tmp = chbig[j];
chbig[j] = chbig[i];
chbig[i] =
//Arrays.sort(chsmal);
char[] total = new&char[sb.length()];
for(int&i=0;i&chsmal.i++)
total[i] = chsmal[i];
for(int&i=0;i&chbig.i++)
total[chsmal.length+i] = chbig[i];
return&String.valueOf(total);
Views(...) Comments()你查询的内容不存在《Java 程序设计》模拟试题
我的图书馆
《Java 程序设计》模拟试题
中国矿业大学成人教育学院学年第二学期
《Java 程序设计》模拟试题(A卷)&
站点: 直属站& &专业年级:夜大信息00 &形式: 闭卷 &层次: 专科&&
&&&&&& 考核方式:闭卷
一、单选择题(每小题2分,共20分)
1、编译Java& Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(&& B&& )。
&&&&&&&& A. &java&&&&&&&&&&&&&&&&&&&&& B.& class
&&&&&&&& C. &html& &&&&&&&&&&&&&&&&&&&&D. &exe
2、设int型变量x = 1 , y = 2 , z = 3,则表达式& y+=z--/x++& 的值是(&& D&& )。
&&&&&&&& A.&&& 3&&&&&&&&&&&&&&&&&&&&&&& B.&&& 3. 5
&&&&&&&& C.&&& 4&&&&&&&&&&&&&&&&&&&&&&& D.&&& 5
3、在Java& Applet程序用户自定义的Applet子类中,一般需要重载父类的(&&& D& )方法来完成一些画图操作。
& &&A.&& start( )&&&&&&&&&&&&&&&&&&& B.&& stop( )
&&& C.&& init( )&&&&&&&&&&&&&&&&&&&& D.&& paint( )
4、不允许作为类及类成员的访问控制符的是(& C&&& )。
&&& A.&& public&&&&&&&&&&&&&&&&&&& B.&& private
&&& C.&& static&&&&&&&&&&&&&&&&&&&& D.&& protected
5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(& A&& )。
&&& A. static& void& method( )&&&&&&&&&&&&&&&&&&& B. public& void& method( )&&&
&&& C. final& void& method( )&&&&&&&&&&&&&&&&&&&&& D. abstract& void& method( )
6、下列浏览器中,可以运行HTML中的Applet,而忽略其他HTML命令的是(&& D&& )。
& &&A.& Netscape 3.0&& &&&&&&&&&&&&&&&&&&B. &Internet Explorer5.0&&&
&&& C. &Hot Java&& &&&&&&&&&&&&&&&&&&&&&D. &Appletviewer
7、以下哪一个不是JAVA的标准数据流(& D&&& )。
&&& A.& 标准输出数据流&& &&&&&&&&&&&B. &标准输入数据流&&
&&& C. &标准错误数据流&& &&&&&&&&&&&D. &标准运算数据流
8、下面声明数组的写法错误( D& )。
A.& int& a[ ];&&&&&&&&&&&&&&&&&&& B:& int[ ]&
C:& int[ ][ ]& a[3][ ];&&&&&&&&&&&&& D;& int[ ][ ] a[ ][3];
9: 设x为float型变量,y为double型变量,a为int型变量,b为long型变量, c为char型变量,则表达式x+y*a/x+b/y+c的值为(& C&& )类型。
&&& A:& int&&&&&&&&&&&&&&&&&&&&&&&& B:long
C:& double&&&&&&&&&&&&&&&&&&&&& D:char
10: x=2.5,a=7,y=4,则表达式x+a%3*(int)x%(int)y的值为(&& C&& )。
A:& 2.5&&&&&&&&&&&&&&&&&&&&&&&& B:3.5
C:& 4.5&&&&&&&&&&&&&&&&&&&&&&&& D:5.5
二、填空题(每空格1分,共20分)
1、开发与运行Java程序需要经过的三个主要步骤为 编辑源程序& 、 编译生成自节码& 和解释运行字节。
2、如果一个Java& Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是& Applet& 类的子类并且存储该源程序文件的文件名为 MyApplet.java。
3、如果一个Java& Applet程序文件中定义有3个类,则使用Sun公司的JDK编译
器& javac.exe&&&&&&&&&&& 编译该源程序文件将产生 &&&3& &个文件名与类名相同而扩展名为&&&&& .class&&&&&&&&&&&&& 的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占
用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用& 2&&& 字节内存空间。
5、使用数组时,下标表达式是整型表达式,下标的范围为&& 0&& 至&& 数组长度减1&&
6、若x = 5,y = 10,则x & y和x &= y的逻辑值分别为&&&& true&&&&& 和 &&&false&&&&& &。
8、创建一个名为 MyPackage 的包的语句是& package&& MyP&&& 该语句应该放在程序的位置为:&& 应该在程序第一句&& 。
9、在Java程序中,通过类的定义只能实现&& 单&& 重继承,但通过接口的定义可以实现&& 多重继承关系。
10、在文件操作中,public String getName()功能是& 得到文件名& 。
public String getAbsolutePath()功能是& 返回文件绝对路径& 。
三、简答题(每小题7分,共35分)
1、写出下面程序的功能?
public& class&& Sum
{& public& static& void&& main( String& args[ ])
&& {&& double&& sum = 0.0 ;
&&&&&& for& ( int& i = 1 ;& i &= 100 ; i + + )
&&&&&&&&&& sum += 1.0/(double)
&&&&& System.out.println( "sum="+sum );
答案:计算 1/1+1/2+1/3+...+1/100 的值。
2、写出下面程序的功能?
import& java.io.* ;
&&& public& class& Reverse
&&& {&& public& static& void&& main(String& args[ ])
&&&&&&& {&& int&& i , n =10 ;
&&&&&&&&&&& int& a[ ] = new int[10];
&&&&&&&&&&& for& ( i = 0 ; i & i ++ )
&&&&&&&&&&& try {
&&&&&&&&&&&&&&&& BufferedReader& br = new BufferedReader(
&&&&&&&&&&&&&&&&&&&&&&&& new& InputStreamReader(System.in));
&&&&&&&&&&&&&&&& a[i] = Integer.parseInt(br.readLine( ));& // 输入一个整数
&&&&&&&&&&& } catch ( IOException& e ) { } ;
&&&&&&&&&&& for& ( i = n-1 ; i &= 0 ; i ―― )
&&&&&&&&&&&&&&& System.out.print(a[i]+"& ");
&&&&&&& System.out.println( );
答案:从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。
3、写出下面程序的运行结果
import&&& java.io.*;
public& class& abc
{&&&&&&&& public& static& void& main(String args[ ])
&&&&&&&&& {&&& AB& s = new& AB("Hello!","I love JAVA.");
&&&&&&&&&&&&&& System.out.println(s.toString( ));
&&&&&&&&& }
class&& AB {
& String&& s1;
& String&& s2;
& AB( String& str1 , String& str2 )
& {& s1 = str1;& s2 = str2; }
& public&& String&& toString( )
& { return& s1+s2;}
答案:Hello! I& love& JAVA.
4、& 出下面程序的运行结果
import&&& java.io.* ;
&&& public&& class& abc
&&&&&&&&& public&& static&& void&&& main(String& args[ ])
&&&&&&&&& {&&& int&& i , s = 0 ;
&&&&&&&&&&&&&& int& a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };
& &&&&&&&&&&&&&for& ( i = 0 ; i & a. i ++ )
&&&&&&&&&&&&&&&&&&&& if ( a[i]%3 = = 0 )& s += a[i] ;
&&&&&&&&&&&&&& System.out.println("s="+s);
&&&&&&&&&& }
答案:s = 180
5、出下面程序的运行结果
class change{
& void changeint(int x){
& public static void main(String args[]){
&&& int a=2;
&&& System.out.println("Before changed:& "+"a="+a);
&&& change cxz=new change();
&&& cxz.changeint(a);
&&& System.out.println("After changed:& "+"a="+a);
答案:Before changed:& a=2
&&&&& After changed:& a=2
四、使用Java语言编写程序题。(共25分,第1题10分,第2题15分)
1、& 打印出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数,其各位数字的立方和等于其本身。
例如:153是个“水仙花数”,因为153=13+53+33&
class sxh{
& public static void main(String args[]){
&&& int first,second,
&&& for(int a=100;a&1000;a++){
&&&&& first=a/100;
&&&&& second=a/10%10;
&&&&& third=a%10;
&&&&& if(a==first*first*first+second*second*second+third*third*third){
&&&&&&& System.out.println(a);
2、& 编写一种从小到大排序程序。例如:a数组中有10个数。分别是{3,2,5,21,9,10,7,16,8,20},经过排序算法后,a数组变为{2,3,5,7,8,9,10,16,20,21,}。
class paixu{
& public static void main(String args[]){
&&& int a[]={3,2,5,21,9,10,7,16,8,20};
&&& int b,c,d;
&&& System.out.println("befor sorted");
&&& for(b=0;b&10;b++){
&&&&& System.out.print(a[b]+"&&& ");
&&& System.out.println("");
&&& for(b=1;b&=9;b++)
&&&&& for(c=0;c&=9-b;c++){
&&&&&&& if(a[c]&a[c+1]){
&&&&&&&&& d=a[c];
&&&&&&&&& a[c]=a[c+1];
&&&&&&&&& a[c+1]=d;
&&& System.out.println("after sorted");
&&& for(b=0;b&10;b++){
&&&&& System.out.print(a[b]+"&&& ");
&&& System.out.println("");
中国矿业大学成人教育学院学年第二学期
《Java 程序设计》模拟试题(B卷)&
站点: 直属站& &专业年级:夜大信息00 &形式: 闭卷 &层次: 专科&&
&&&&&& 考核方式:闭卷
一、单选择题(每小题2分,共10分)
1、编译Java& Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
&&&&&&&& A.&&& .java&& &&&&B.&&& .class&& &&&&&&&C.&&& .html&& &&&&D.&&& .exe
2、设 x = 1 , y = 2 , z = 3,则表达式& y+=z--/++x& 的值是(&&&&& )。
&&&&&&&& A.&&& 3&& &&&&&B.&&& 3. 5&& &&&&&&&&&C.&&& 4&&& &&&&D.&&& 5
3、在Java& Applet程序用户自定义的Applet子类中,一般需要重载父类的(&&&&& )方法来完成一些画图操作。
&&& A.&& start( )&&&&&&&&&&&&&&&&&&& B.&& stop( )
&& &C.&& init( )&&&&&&&&&&&&&&&&&&&& D.&& paint( )
4、不允许作为类及类成员的访问控制符的是(&&&&& )。
&&& A.&& public&&&&&&&&&&&&&&&&&&& B.&& private
&&& C.&& static&&&&&&&&&&&&&&&&&&&& D.&& protected
5、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(&&&&& )。
&&& A.& static& void& method( )&&&&&&&&&&&&&&&&&&& B. public& void& method( )&&&
&&& C. final& void& method( )&&&&&&&&&&&&&&&&&&&&& D. abstract& void& method( )
二、填空题(每空格1分,共20分)
1、开发与运行Java程序需要经过的三个主要步骤为 &&&&&&&&、&& &&&&&&&和 &&&&&&&&&&。
2、如果一个Java& Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是&& &&&&&&&&&&&的子类并且存储该源程序文件的文件名为 &&&&&&&&&&&&。
3、如果一个Java& Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生& &&&&&个文件名与类名相同而扩展名为&&&&&& &&&&&&&&的字节码文件。
4、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用&&&&&&&&&&&&&&& 字节内存空间,这样,无论是中文字符还是英文字符,都是占用&&&&&&&&&&& 字节内存空间。
5、设 x = 2 ,则表达式 ( x + + )/3 的值是&&&&&&&&&&&&&&& &。
6、若x = 5,y = 10,则x & y和x &= y的逻辑值分别为&&&&&&&&& &和&&&&&&&&& &。
7、 &&&&&&&&&&&&&&方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。&&&&&&&&&&& 方法是不能被当前类的子类重新定义的方法。
8、创建一个名为 MyPackage 的包的语句是 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&,
该语句应该放在程序的位置为: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&。
9、设有数组定义:int&& MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70};&& 则执行以下几个语句后的输出结果是&&&&&&&&&&&&&&&&&&&&& 。
&&&& int& s = 0 ;
&&& for& ( int& i = 0 ; i & MyIntArray. i + + )
if& ( i % 2 = = 1 )&&&
s += MyIntArray[i] ;
&& System.out.println( s );
10、在Java程序中,通过类的定义只能实现&& &&&&&&&&&&&&重继承,但通过接口的定义可以实现&& &&&&&&&&&&&&重继承关系。
三、写出下列程序完成的功能。(每小题5分,共20分)
1、public& class&& Sum
{& public& static& void&& main( String& args[ ])
&& {&& double&& sum = 0.0 ;
&&&&&& for& ( int& i = 1 ;& i &= 100 ; i + + )
&&&&& &&&&&sum += 1.0/(double)
&&&&& System.out.println( "sum="+sum );
2、 import& java.io.* ;
&&& public& class& Reverse
&&& {&& public& static& void&& main(String& args[ ])
&&&&&&& {&& int&& i , n =10 ;
&&&&&&&&&&& int& a[ ] = new int[10];
&&&&&&&& &&&for& ( i = 0 ; i & i ++ )
&&&&&&&&&&& try {
&&&&&&&&&&&&&&&& BufferedReader& br = new BufferedReader(
&&&&&&&&&&&&&&&&&&&&&&&& new& InputStreamReader(System.in));
&&&&&&&&&&&&&&&& a[i] = Integer.parseInt(br.readLine( ));& // 输入一个整数
&&&&&&&&&&& } catch ( IOException& e ) { } ;
&&&&&&&&&&& for& ( i = n-1 ; i &= 0 ; i ―― )
&&&&&&&&&&&&&&& System.out.print(a[i]+"& ");
&&&&&&& System.out.println( );
3、 import&&&& java.awt.*;
&&& public&&& class&&& abc
&&& {& public&& static&& void&&& main(String args[])
&&&&&&&&& {&&&&& new FrameOut();&&&&&& }
&&& class&& FrameOut&& extends&&& Frame&&&& //& Frame为系统定
&&&& {&& B&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //& 义的窗框类
&&&&&&&& FrameOut( )
&&&&&&&& {&&&&&& super("按钮");
&&&&&&&&&&&&&& &&btn = new& Button("按下我");
&&&&&&&&&&&&&&&& setLayout(new&& FlowLayout( ));
&&&&&&&&&&&&&&&& add(btn);
&&&&&&&&&&&&&&&& setSize(300,200);
&&&&&&&&&&&&&&&& show( );
&&&&&&&&& }
4、import&&& java.io.*;
&& public&&& class&& abc
&& {&& public&& static&& void&& main(String args[])
&&&&&&&& {&& SubClass&&& sb = new&& SubClass( );&&&&&&&
&&&&&&&&&&&& System.out.println(sb.max( ));
&&&&&&&& }
&&& class&&& SuperClass
&& {&& int& a = 10 , b = 20 ;& }
&& class& SubClass& extends& SuperClass
&& {&& int& max( ) {& return&& ((a&b)?a:b);& }& }
四、写出下面程序的运行结果(每小题10分,共30分)
1、 import&&& java.io.*;
public& class& abc
{&&&&&&&& public& static& void& main(String args[ ])
&&&&&&&&& {&&& AB& s = new& AB("Hello!","I love JAVA.");
&&&&&&&&&&&&&& System.out.println(s.toString( ));
&&&&&&&&& }
class&& AB {
& String&& s1;
& String&& s2;
& AB( String& str1 , String& str2 )
& {& s1 = str1;& s2 = str2; }
& public&& String&& toString( )
& { return& s1+s2;}
2、 import&&& java.io.* ;
&&& public&& class& abc
&&&&&&&&& public&& static&& void&&& main(String& args[ ])
&&&&&&&&& {&&& int&& i , s = 0 ;
&&&&&&&&&&&&&& int& a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };
&& &&&&&&&&&&&&for& ( i = 0 ; i & a. i ++ )
&&&&&&&&&&&&&&&&&&&& if ( a[i]%3 = = 0 )& s += a[i] ;
&&&&&&&&&&&&&& System.out.println("s="+s);
&&&&&&&&&& }
3、class father{
& void speak(){
&&& System.out.println("I am father!");
class son extends father{
& void speak(){
&&& super.speak();
&&& System.out.println("I am son!");
& public static void main(String args[]){
&&& son cxz=new son();
&&& cxz.speak();
五、使用Java语言编写程序。(每小题10分,共20分)
1、编写一个字符界面的Java& Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。
2、编写一个完整的Java& Applet 程序使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i 。
&&&& 复数类Complex必须满足如下要求:
(1)&& 复数类Complex 的属性有:
RealPart :&&& int型,代表复数的实数部分
ImaginPart :& int型,代表复数的虚数部分
(2)&& 复数类Complex 的方法有:
Complex( ) : 构造函数,将复数的实部和虚部都置0
Complex( int& r , int& i ) : 构造函数,形参 r 为实部的初值,i为虚部的初值。
Complex& complexAdd(Complex& a) : 将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者。
String& ToString( ) : 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中a 和 b分别为实部和虚部的数据。
TA的推荐TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&}

我要回帖

更多关于 java编程思想 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信