「java大赛题」javaoj题目及答案

博主:adminadmin 2023-03-20 18:35:06 321

本篇文章给大家谈谈java大赛题,以及javaoj题目及答案对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java题,三个班同学参加比赛,每个班五个学生。 求出每个班的最高分

public class Demo {

    public static void main(String[] args) {

        // A班成绩

        int[] classA = {90, 100, 99, 80, 89};

        // B班成绩

        int[] classB = {79, 91, 87, 98, 88};

        // C班成绩

        int[] classC = {60, 70, 86, 50, 70};

        System.out.println("A班最高分:" + getMax(classA));

        System.out.println("B班最高分:" + getMax(classB));

        System.out.println("C班最高分:" + getMax(classC));

    }

    /**

     *  求数组最大值

     * @param arr

     * @return

     */

    public static int getMax(int[] arr) {

        int max = 0;

        for (int i : arr) {

            if (i  max) {

                max = i;

            }

        }

        return max;

    }

}

java 竞赛编程题,有点难度啊!求大侠

package computer;

import java.util.Arrays;import java.util.Random;

import java.util.Scanner;

public class SerachFunction {

public static int[] allnum=new int[20];

// picture ...like a picture

public void picOne(){

System.out.println("************");

System.out.println("1.选择排序");

System.out.println("2.冒泡排序");

System.out.println("3.插入排序");

System.out.println("4.全排列");

System.out.println("5.数字分解为数字和");

System.out.println("6.杀死小朋友问题");

System.out.println("7.阶乘");

System.out.println("8.双色球");

System.out.println("9.100-1000的水仙花数");

System.out.println("10.正数分解因数");

System.out.println("11.恐怖的事情 千万不要输入11");

System.out.println("输入-1退出");

System.out.println("输入-2查看问题注释");

System.out.println("************");

}

public void picTwo(){

System.out.println("注意输入单个字符参数(根据选项输入,多个参数以逗号分割): ");

}

public void picThree(){

System.out.println("5号问题为输入某一数字 出现这个数字可由哪些数字相加而得");

System.out.println("6号问题为9(输入)个已编号的小朋友围一圈报数1,2,3报到3的拖出去xx问剩下的小朋友是几号");

}

public void picFour(){

System.out.println("0_0~");

System.out.println("恐怖的事情发生了...说了不要点...");

System.out.println("楼主累死了....");

}

// main

public static void main(String[] args){

SerachFunction fc=new SerachFunction();

fc.inputFunction();

}

public void inputFunction(){ //接受指令并调用相关函数

int command;

char[] params;

Scanner sc=new Scanner(System.in);

while(true){

picOne();

if((command=sc.nextInt())==-1){

break;

}

picTwo();

params=getParamsArray(sc.next());

System.out.println();

switch(command){

case 1:

selectSort(params);

break;

case 2:

bubbleSort(params);

break;

case 3:

insertionSort(params);

break;

case 4:

fullArray(params,0);

break;

case 5:

resolveNum(getQuondam(params),0);

break;

case 6:

killChildren(getQuondam(params));

break;

case 7:

factorial(getQuondam(params),1);

break;

case 8:

twoColorBall();

break;

case 9:

daffodil();

break;

case 10:

int all=0;

primeFactor(getQuondam(params),0);

break;

case 11:

picFour();

break;

case -2:

picThree();

break;

}

System.out.println("Y(^_^)Y");

}

System.out.println("(*^_^*)");

}

/*

* com function

* */

public char[] getParamsArray(String params){

params=params.replaceAll(",","");

return params.toCharArray();

}//to get char[] params

// 选择排序

public void selectSort(char[] params){

for(int i=0;iparams.length-1;i++){

for(int m=i+1;mparams.length;m++){

if(params[i]params[m]){

changePlace(params,m,i);

}

}

}

showChar(params);

System.out.println("选择排序结束");

}

//冒泡排序

public void bubbleSort(char[] params){

for(int i=params.length-1;i0;i--){

for(int m=0;mi;m++){

if(params[m]params[m+1]){

changePlace(params,m,m+1);

}

}

}

showChar(params);

System.out.println("冒泡排序结束");

}

//插入排序

public void insertionSort(char[] params){

for(int i=1;iparams.length;i++){

for(int m=i-1;m=0;m--){

if(params[m+1]params[m]){

changePlace(params,m+1,m);

}

}

}

showChar(params);

System.out.println("插入排序结束");

}

//全排列

public void fullArray(char[] params,int begin){

if(begin==params.length){

showChar(params);

}

for(int i=begin;iparams.length;i++){

if(begin=params.length){

changePlace(params,begin,i);

fullArray(params,begin+1);

changePlace(params,begin,i);

}

}

}

//数字分解为数字和

public void getAllNum(int[] num,int end){

System.out.print("分解方式:");

for(int i=0;iend;i++){

System.out.print(num[i]);

if(i+1!=end){

System.out.print(',');

}

}

System.out.println("");

}

public int getArrayT(int[] num,int end){

int tot=0;

for(int i=0;iend;i++){

tot+=num[i];

}

return tot;

}

public boolean getShoud(int[] num,int end){

for(int i=0;iend;i++){

if(i+1end){

if(num[i+1]num[i]){

return false;

}

}

}

return true;

}

public void resolveNum(int num,int begin){

if(getArrayT(allnum,begin)==num){

if(getShoud(allnum,begin)){

getAllNum(allnum,begin);

}

}

for(int i=1;i=num;i++){

if(getArrayT(allnum,begin)=num){

allnum[begin]=i;

resolveNum(num,begin+1);

}

}

}

// 杀死小朋友

public void killChildren(int child){

int alivechild=child;

int num=0;

int index=0;

boolean[] childisdead=new boolean[child];

Arrays.fill(childisdead,true);

while(alivechild!=1){

if(childisdead[index]){

num++;

if(num%3==0){

alivechild--;

childisdead[index]=false;

num=0;

}

}

index++;

if(index==child)

index=0;

}

for(int i=0;ichildisdead.length;i++){

if(childisdead[i])

System.out.println((int)(i+1)+"号小朋友还活着");

}

}

//阶乘

public void factorial(int end,long output){

if(end==1){

System.out.println(output);

return;

}

output=output*end;

factorial(end-1,output);

}

//two color ball;

public void twoColorBall(){

int[] redball=new int[6];

int blueball=(int)(Math.random()*15+1);

int index=0;

while(true){

boolean bol=true;

int red=(int)(Math.random()*32+1);

for(int i=0;i=index;i++){

if(red==redball[index]){

bol=false;

}

}

if(bol){

redball[index]=red;

index++;

}

if(index==6){

break;

}

}

System.out.print("红色:");

for(int i=0;i6;i++){

System.out.print(redball[i]+",");

}

System.out.println("");

System.out.println("蓝色:"+blueball);

}

//水仙花

public void daffodil(){

int hundreds=0,decade=0,unit=0;

System.out.print("水仙花数:");

for(int i=100;i1000;i++){

hundreds=i/100;

decade=(i%100)/10;

unit=(i%100)%10;

hundreds=hundreds*hundreds*hundreds;

decade=decade*decade*decade;

unit=unit*unit*unit;

if(i==(hundreds+decade+unit)){

System.out.print(i+",");

}

}

System.out.println("");

}

//分解为因数

public void getPriShow(int[] num,int end){

System.out.print("分解方式:");

for(int i=0;iend;i++){

System.out.print(num[i]);

if(i+1!=end){

System.out.print('*');

}

}

System.out.println("");

}

public void primeFactor(int num,int begin){

if(num==1){

if(getShoud(allnum,begin)){

getPriShow(allnum,begin);

}

return;

}

for(int i=2;i=num;i++){

if(num%i==0){

allnum[begin]=i;

primeFactor(num/i,begin+1);

}

}

}

//展示char数组

public void showChar(char[] params){

for(int i=0;iparams.length;i++){

System.out.print(params[i]);

if(i+1!=params.length){

System.out.print(',');

}

}

System.out.println("");

}

//两数换位置

public void changePlace(char[] params,int begin,int end){

int act;

act=params[begin];

params[begin]=params

java大赛题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaoj题目及答案、java大赛题的信息别忘了在本站进行查找喔。

;

params

java大赛题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaoj题目及答案、java大赛题的信息别忘了在本站进行查找喔。

=(char) act;

}

//得到原数

public int getQuondam(char[] num){

return Integer.parseInt(String.valueOf(num));

}

}

//水仙花水的那个就是

求解答一道JAVA题

代码1:public abstract double average(double x[]);

代码2:aver = aver + x[i];

代码3:computer = new Gymnastics();

代码4:computer.average(a);

代码5:computer.average(b);

ITAT第五届Java大赛的所有考题

我这里有文档,你要的话留邮箱

第四届全国ITAT教育工程就业技能大赛复赛试题

Java程序设计(A卷)

请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。

请务必按照试卷要求为文件命名。

考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。

注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。

然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。

注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。

请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。

注意:凡违反上述规定的考生,其成绩一律按零分处理。

题目命名要求:请将编写好的源程序以T+题号的方式命名,例如第1题的源程序保存为“T1.java” ),题目本身有命名要求的除外。

1、编写一个Java应用程序,在其中编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有刻画方程系数的3个成员变量以及计算实根的方法。并给出计算实根的过程。(20分)

2、编写一个Java应用程序,开启一个文本文件(以本程序源文件为例读取),一次读取其内的一行文本,令每行形成一个String,并将读出的String对象置于LinkedList中,以相反次序显示出LinkedList内的所有内容。(25分)

3、Windows操作系统自带的计算器是个很方便的小工具,利用Java的GUI编程,实现一个Java GUI计算器应用程序界面,窗口标题为“计算器”,窗口布局如下图所示,在此计算器应用程序中实现“+、-、*、/”运算操作。(25分)

4、编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分。服务器程序启动后,监听端口5678的请求;客户端程序启动后,向服务器端口5678发送请求。服务器不断接收客户机所写入的信息,并且服务器也会做出"Receive"为回应,告知客户机已接收到消息。要求:服务器程序采用多线程开发,允许多个客户端程序同时连接。客户机发送"End"字符串时,客户端程序退出。(服务端程序和客户端程序分别命名为Server.java和Client.java)

(30分)

附加题:

5、有500个小朋友拉成一个圆圈,从其中一个小朋友开始依次编号1-500,从1号小朋友开始循环1-3报数,数到3的小朋友就退出。编写一个Java应用程序,计算出最后一个小朋友的号码是多少?(20分)

6、编写一个Java应用程序,文件名为Folder.java,编译后执行结果如下图所示,实现指定文件夹下目录和文件的文本形式的树状结构显示。要求:

1. 输入: java Folder,显示当前文件夹下的目录和文件的文本形式树状显示;

2. 输入: java Folder C:\test,显示C:\test文件夹下的目录和文件的文本形式树状显示;(C:\test可以为任意文件夹路径名)

3. 输入: java Folder add aa,在当前文件夹下面添加一个子目录(子目录名为:aa),同时显示当前文件夹下的最新目录和文件的文本形式树状显示;

4. 输入: java Folder del aa,在当前文件夹下面删除一个子目录(子目录名为:aa),同时显示当前文件夹下的最新目录和文件的文本形式树状显示;(30分)

第四届全国ITAT教育工程就业技能大赛复赛试题

Java程序设计(B卷)

请考生仔细阅读并严格遵守题目中关于文件保存和命名的要求。

请务必按照试卷要求为文件命名。

考生答题完毕后,首先创建以“准考证号”命名的文件夹(形式如:433034683),并将考试结果严格按题目上的命名要求进行命名并直接保存在该文件夹下。

注意:考生不得在该文件夹下创建任何子文件夹,所有考试结果均直接保存在该文件夹根目录下。

然后选中整个文件夹,用Winrar压缩工具打包后存放在本考场指定的考试结果存放地址,经监考老师确认上传无误后方可离开考场。

注意:在提交答案时,请务必选中上述存放作品的文件夹(如前面创建的433034683文件夹,而不是文件夹下的全部文件)进行压缩,在完成答案提交后,请确保上述压缩包仍保存在本地计算机中。

请务必按照试卷要求提交指定的文件,不得包含非题目要求的过程文件和临时文件,不得包含本试题文件和试题素材。

注意:凡违反上述规定的考生,其成绩一律按零分处理。

题目命名要求:请将编写好的源程序以T+题号的方式命名,例如第1题的源程序保存为“T1.java” ),题目本身有命名要求的除外。

1、水仙花数是指其个位、十位、百位三个数的立方和等于这个数本身。编写一个Java应用程序,求出所有水仙花数。(20分)

2、编写一个Java应用程序,利用RandomAccessFile类往某个文本文件中写入20个整数(0~19),然后从该文件的第12个字节开始,将后面所有的数据(对应写入的整数)读出。(25分)

3、编写一个Java GUI应用程序,窗口标题为“GridLayout”,窗口布局如下图A所示,在图A窗口中单击任意一个Button,网格的划分方式会变化为图B;在图B窗口中单击任意一个Button,网格的划分方式会变化为图A。(25分)

图A 图B

4、采用Java 多线程技术,设计实现一个符合生产者和消费者问题的程序。对一个对象(枪膛)进行操作,其最大容量是12颗子弹。生产者线程是一个压入线程,它不断向枪膛中压入子弹;消费者线程是一个射出线程,它不断从枪膛中射出子弹。(30分)

要求:

(1)给出分析过程说明。(10分)

(2)程序输出,要模拟体现对枪膛的压入和射出操作;(10)

(3)设计程序时应考虑到两个线程的同步问题。(10)

附加题:

5、某企业为了促销,搞抽奖宣传活动,奖品为新款手机一部,抽奖规则如下:

(1)有n个盒子摆成一圈,盒子按顺时针方向依次编号为0,1,2,……,n-1。手机随机放在其中一个盒子中。(n为自然数)

(2)从0号盒子开始摸奖,顺时针方向计数,每遇到第m个盒子就摸奖一次。(m为自然数,mn)

(3)直到重新摸到0号盒子为止。

例如n=5,m=3,那么摸奖经过的盒子编号依次为0,3,1,4,2,0。

请编写一个完整的程序,随机输入n,m(mn),程序分析手机有没有不被抽中的机会?如果有,概率是多少? (概率=不被抽中的可能数/n)(30分)

6、采用UDP协议,编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分。客户端指定一个服务器上的文件名,让服务器发回该文件的内容,或者提示文件不存在。(20分)(服务端程序和客户端程序分别命名为Server.java和Client.java)

java大赛题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javaoj题目及答案、java大赛题的信息别忘了在本站进行查找喔。