您的位置:

javaoj的简单介绍

本文目录一览:

大学的 java 竞赛

现在没有单纯的java的比赛了,我参加过的就是非要是一些网站类的比赛,当然也不必要求用java。

在网站方面就是对于j2ee的学习了,这种比赛需要对数据处理的能力,比如java封转好的一些数据类型ArrayList或者哈希表之类,都要会用。

单纯从java语言本身来看的话,你首先要对面向对象有一个认识,其实就是java中的抽象机制,接口和继承。你还要了解java的内存机制,比如其著名的垃圾回收机制。

最后一个进阶的东西就是多线程,这是一个编程永恒的主题,并且java对于多线程支持的非常的好。如果以上java的知识你都掌握,就可以看看设计模式了,可以提高能力。当然也可以读java的源码

经验大概就是这些,比赛的一个关键是你有足够的技术积累,不单单是你的代码量,还有总结和自己的认识。

其实比赛而言,看的就是谁把知识理解的深刻,不要总是停留在表面,祝你取得好成绩。

北大OJ的1012题java做出莫名奇妙的runtime error

这样的检测没有进行有效地检测

当m = 5 以后,计算量比较大,时间就太长。。

#include stdio.h

void POJ1012();

//int result[]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881};

int main()

{

POJ1012();

return 0;

}

void POJ1012()

{

int i,k;

int result[14]={0};

scanf("%d",k);

while(k!=0)

{

// printf("%d\n",result[k]);

int leftguys,m,flag,cur,next;

i=1;

while(true)

{

if(result[k]!=0)

{

printf("%d\n",result[k]);

break;

}

//m为移动的个数,cur为移动前索引,以0为起点

//m只能为k+1的整数倍或者是k+1的整数倍加1,

//因为只剩下K+1个人时,cur索引必位于k或k+1上

m=(k+1)*i;

for(int j=0;j2;j++)

{

cur=-1;

flag=true;

for(leftguys=2*k;leftguysk;--leftguys)

{

next = (cur+m)%leftguys;

if(nextk)

{

flag=false;

break;

}

cur = next-1;

}

if(flag)

{

printf("%d\n",m);

result[k]=m;

break;

}

m=(k+1)*i+1;

}

if(flag)

break;

++i;

}

scanf("%d",k);

}

}

java写的一个程序在HOJ上提交后显示输出超限怎么回事啊

oj超限一般分为运行内存超限和运行时间超限,可以从这两方面找找原因。

java怎样实现判断一个最高达1000位数字的整数是不是3的倍数。

能被3整除的数的特征:各个数位上的数相加之和必定为3的倍数。

import java.util.Scanner;

public class Main

{

    public static void main(String[] args)

    {

        try (Scanner sc = new Scanner(System.in))

        {

            while (sc.hasNext())

            {

                String num = sc.next();

                int sum = 0;

                for (int i = 0; i  num.length(); i++)

                    sum += Integer.parseInt("" + num.charAt(i));

                System.out.println(sum % 3 == 0 ? "yes" : "no");

            }

        }

    }

}

如果使用BigInteger也行,只不过OJ平台可能对时空复杂度有要求,容易过不去。

import java.math.BigInteger;

import java.util.Scanner;

public class Main

{

    public static void main(String[] args)

    {

        final BigInteger bigThree = new BigInteger("3");

        try (Scanner sc = new Scanner(System.in))

        {

            while (sc.hasNextBigInteger())

            {

                BigInteger num = sc.nextBigInteger();

                System.out.println(num.mod(bigThree).equals(BigInteger.ZERO) ? "yes" : "no");

            }

        }

    }

}

运行结果不变。

如何调试在OJ中的代码

Java-Preferences-,确保以下选项都勾选上

2. 应该就大功告成了 。

4,Properties;Installed JREs,选择Edit. 在Eclipse中,Window-Preferences-Libraries,Window-,选择Add,在JRE Home中选择JDK路径(因为只有JDK支持源码调试)。使用Alternate JRE中你创建的JDK. 右键你的工程项目,并且给它合适的命名。退出保存后;Compiler。

3,选择JDK路径,找到JRE System Library在Eclipse中,Java Build Path-Java-

南阳理工OJ第一题A+B problem 用java编程在eclipse上能运行正确,为什么在OJ上提交时总是CompileError!

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner cin = new Scanner(System.in);

int a = cin.nextInt(), b = cin.nextInt();

System.out.println(a + b);

}

}

用这个试试