关于JAVA的国内国际的编程比赛有哪些?

关于JAVA的国内国际的编程比赛有哪些?,第1张

ACM: ACM/ICPC(ACM International Collegiate Programming Contest, 国际大学生程序设计竞赛)是由国际计算机界历史悠久、颇具权威性的组织ACM(Association for Computing Machinery,国际计算机协会)主办的,世界上公认的规模最大、水平最高的国际大学生程序设计竞赛,其目的旨在使大学生运用计算机来充分展示自己分析问题和解决问题的能力。该项竞赛从1970年举办至今已历29届,一直受到国际各知名大学的重视,并受到全世界各著名计算机公司的高度关注,在过去十几年中,APPLE、AT&T、MICROSOFT和IBM等世界著名信息企业分别担任了竞赛的赞助商。可以说,ACM国际大学生程序设计竞赛已成为世界各国大学生最具影响力的国际级计算机类的赛事, 是广大爱好计算机编程的大学生展示才华的舞台,是著名大学计算机教育成果的直接体现,是信息企业与世界顶尖计算机人才对话的最好机会。

该项竞赛分区域预赛和国际决赛两个阶段进行,各预赛区第一名自动获得参加世界决赛的资格,世界决赛安排在每年的3~4月举行,而区域预赛安排在上一年的9~12月在各大洲举行。

ACM/ICPC的区域预赛是规模很大、范围很广的赛事。仅在2003年参加区域预赛的队伍就有来自75个国家(地区),1411所大学的3150支代表队,他们分别在127个赛场中进行比赛,以争夺全球总决赛的73个名额,其激烈程度可想而知。2005年第30届ACM/ICPC亚洲赛区预赛共设了北京、成都、汉城、东京等11个赛站,来自亚洲各国知名高校的各个代表队进行了激烈的角逐。

Java Cup 全国大学生信息技术大奖赛

http://www.jug.edu.cn

此次Java Cup全国大学生信息技术大奖赛的侧重点为J2EE,但是不对EJB做出具体要求。参赛者要针对一个特定的企业应用提出自己的J2EE解决方案,

并通过实际设计、开发、部署和优化该J2EE应用来展示自己的技术实力。对参赛方案的评估包括实用型,创新性,伸缩性,系统性能,

投入产出比等多方面因素。为了公平起见,所有的参赛作品将在同样的软硬件平台上进行评估。

硬件平台:

Sun Fire V20z服务器

2 个AMD Opteron 200系列处理器

8 GB的DDR内存

软件平台:

Solaris 10 x86 *** 作系统

NetBeans 4.0集成开发环境

JBoss应用服务器

MySQL或者PointBase数据库

Mozilla网络浏览器

相关链接:

下载NetBeans 4.0集成开发环境

NetBeans 4.0安装说明

NetBeans 4.0使用说明

下载Solaris 10 x86 *** 作系统

Solaris 10 x86 *** 作系统安装说明

Solaris 10探营:安装和基本配置

IBM举办Cloudscape的Java比赛

IBM的 Cloudscape? V10.0 是一个纯粹的、开放式的Java 关系型数据库管理系统,它可以嵌入Java 程序,用于在线事务流程处理。

Cloudscape V10.0 是一个独立的平台,小型数据库(2MB) ,它可以被整合进任何基于Java的解决方案。

近日,IBM和SourceForge联合举办了这个有关Cloudscape的Java比赛,胜出者将能得到iPod一台或是SourceForge的T恤衫一件。

只要下载就能参加了,不过有一个非常关键的限制:你必须是北美的居民。

比赛官方鼓动说:很容易就能测试一下你的 Java 水平,只需输入你的电子邮件地址,得当一个确认回函之后即可下载文件轻松验证自己的

Java 水平。

Cloudscape的Java比赛官方网页:http://sourceforge.net/cloudscape_contest.php

package computer

import java.util.Arraysimport 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=0i<params.length-1i++){

for(int m=i+1m<params.lengthm++){

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

changePlace(params,m,i)

}

}

}

showChar(params)

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

}

//冒泡排序

public void bubbleSort(char[] params){

for(int i=params.length-1i>0i--){

for(int m=0m<im++){

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

changePlace(params,m,m+1)

}

}

}

showChar(params)

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

}

//插入排序

public void insertionSort(char[] params){

for(int i=1i<params.lengthi++){

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

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=begini<params.lengthi++){

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=0i<endi++){

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=0i<endi++){

tot+=num[i]

}

return tot

}

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

for(int i=0i<endi++){

if(i+1<end){

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=1i<=numi++){

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=0i<childisdead.lengthi++){

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=0i<=indexi++){

if(red==redball[index]){

bol=false

}

}

if(bol){

redball[index]=red

index++

}

if(index==6){

break

}

}

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

for(int i=0i<6i++){

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=100i<1000i++){

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=0i<endi++){

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=2i<=numi++){

if(num%i==0){

allnum[begin]=i

primeFactor(num/i,begin+1)

}

}

}

//展示char数组

public void showChar(char[] params){

for(int i=0i<params.lengthi++){

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[end]

params[end]=(char) act

}

//得到原数

public int getQuondam(char[] num){

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

}

}

//水仙花水的那个就是

package com.baidu.map

import java.util.ArrayList

import java.util.Collections

import java.util.HashMap

import java.util.Iterator

import java.util.List

import java.util.Map

import java.util.Set

public class TestMap02 {

public static void main(String[] args) {

List<Student> list=new ArrayList<Student>()

exam(list)

Map<String, ClassRoom> rooms=new HashMap<String, ClassRoom>()

count(rooms, list)

printScore(rooms)

}

/**

 * 打印

 */

private static void printScore(Map<String, ClassRoom> rooms) {

Set<Map.Entry<String, ClassRoom>> entrySet=rooms.entrySet()

Iterator<Map.Entry<String, ClassRoom>> it=entrySet.iterator()

while(it.hasNext()){

Map.Entry<String, ClassRoom> entry=it.next()

ClassRoom room=entry.getValue()

System.out.println("班号:"+room.getNo()+"总成绩:"+room.getTotal()+"平均成绩:"+room.getTotal()/room.getStus().size())

}

}

/**

 * 统计班级的分数

 */

public static void count(Map<String, ClassRoom> rooms,List<Student> list){

for (Student student : list) {

ClassRoom room=rooms.get(student.getNo())

if(null==room){

room=new ClassRoom(student.getNo())

rooms.put(student.getNo(), room)

}

room.setTotal(room.getTotal()+student.getScore())

room.getStus().add(student)

}

}

/**

 * 数据源

 */

public static void exam(List<Student> list){

//可以使用循环遍历进去

list.add(new Student(80, "a", "001"))

list.add(new Student(80, "b", "001"))

list.add(new Student(80, "c", "001"))

list.add(new Student(80, "d", "001"))

list.add(new Student(80, "e", "002"))

list.add(new Student(80, "f", "002"))

list.add(new Student(80, "g", "002"))

list.add(new Student(80, "h", "002"))

list.add(new Student(80, "i", "003"))

list.add(new Student(80, "j", "003"))

list.add(new Student(80, "k", "003"))

list.add(new Student(83, "l", "003"))

}

} package com.baidu.map

public class Student {

private double score

private String name

private String no

public Student() {

}

public Student(double score, String name, String no) {

super()

this.score = score

this.name = name

this.no = no

}

@Override

public String toString() {

return "Student [score=" + score + ", name=" + name + ", no=" + no

+ "]"

}

public double getScore() {

return score

}

public void setScore(double score) {

this.score = score

}

public String getName() {

return name

}

public void setName(String name) {

this.name = name

}

public String getNo() {

return no

}

public void setNo(String no) {

this.no = no

}

} package com.baidu.map

import java.util.ArrayList

import java.util.List

public class ClassRoom {

private String no

private double total

private List<Student> stus

public ClassRoom() {

stus=new ArrayList<Student>()

}

public ClassRoom(String no) {

this()

this.no = no

}

public String getNo() {

return no

}

public void setNo(String no) {

this.no = no

}

public double getTotal() {

return total

}

public void setTotal(double total) {

this.total = total

}

public List<Student> getStus() {

return stus

}

public void setStus(List<Student> stus) {

this.stus = stus

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11160946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存