胰岛素用法acm是什么意思

胰岛素用法acm是什么意思... 胰岛素用法acm是什么意思 展开
 我来答
匿名用户
2016-07-04
展开全部
先说一下Java对于ACM的一些优点吧:(1)对于熟悉C/C++的程序员来说Java并不难学,两周时间基本可以搞定一般的编程,再用些时间了解一下Java库就行了。Java的语法和C++非常类似,可以说是C++的升级版,只是更加强调面向对象思想而已。(个人见解。。。)(2)在一般比赛中,Java程序会有额外的时间和空间,但真正进行大规模运算时Java并不比C/C++慢,输入输出效率比较低而已(3)Java代码简单且功能强大,有些像高精度之类的算法用Java实现起来更为简洁方便(ACM真正比赛时是讲究做题速度的,任何题只要能过就行,而不必过于要求程序的速度有多高,不超时就好)。***小技巧:某些题目用Java超时的话可以用Java打表然后用C/C++提交(4)用Java不易犯细微的错误,比如C/C++中的指针,“if(n=m)”等。(5)目前Eclipse已成基本配置,写Java程序反而比C/C++更方便调试。在具体竞赛时也算多一种选择。关于ACM中应用的一些问题:(1)JDK1.5.0及其以上版本提供的Scanner类为输入提供了良好的基础,很好地优化Java的输入问题。代码如下:importjava.io.*importjava.util.*publicclassMain{publicstaticvoidmain(Stringargs[]){Scannercin=newScanner(newBufferedInputStream(System.in));}}也可以直接Scannercin=newScanner(System.in);加Buffer可能会快一些。(2)读一个整数:intn=cin.nextInt();相当于scanf("%d",&n);或cin>>n;读一个字符串:Strings=cin.next();相当于scanf("%s",s);或cin>>s;读一个浮点数:doublet=cin.nextDouble();相当于scanf("%lf",&t);或cin>>t;读一整行:Strings=cin.nextLine();相当于gets(s);或cin.getline();判断是否有下一个输入可以用cin.hasNext()或cin.hasNextInt()或cin.hasNextDouble()(3)输出一般可以直接用System.out.print()和System.out.println(),前者不输出换行,而后者输出。System.out.println(n);//n为int型同一行输出多个整数可以用System.out.println(newInteger(n).toString()+""+newInteger(m).toString());//也可重新定义:staticPrintWritercout=newPrintWriter(newBufferedOutputStream(System.out));cout.println(n);(4)对于输出浮点数保留几位小数的问题,可以使用DecimalFormat类,importjava.text.*;DecimalFormatf=newDecimalFormat("#.00#");DecimalFormatg=newDecimalFormat("0.000");doublea=123.45678,b=0.12;System.out.println(f.format(a));System.out.println(f.format(b));System.out.println(g.format(b));大数:BigInteger和BigDecimal是在java.math包中已有的类,前者表示整数,后者表示浮点数importjava.math.*//需要引入java.math包BigIntegera=BigInteger.valueOf(100);BigIntegerb=BigInteger.valueOf(50);BigIntegerc=a.add(b)//c=a+b;//主要有以下方法可以使用:BigIntegeradd(BigIntegerother)BigIntegersubtract(BigIntegerother)BigIntegermultiply(BigIntegerother)BigIntegerdivide(BigIntegerother)BigIntegermod(BigIntegerother)intcompareTo(BigIntegerother)staticBigIntegervalueOf(longx)//输出数字时直接使用System.out.println(a)即可字符串:String类用来存储字符串,可以用charAt方法来取出其中某一字节,计数从0开始:Stringa="Hello";//a.charAt(1)='e'用substring方法可得到子串,如上例System.out.println(a.substring(0,4))//output"Hell"注意第2个参数位置上的字符不包括进来。这样做使得s.substring(a,b)总是有b-a个字符。字符串连接可以直接用+号,如Stringa="Hello";Stringb="world";System.out.println(a+","+b+"!");//output"Hello,world!"如想直接将字符串中的某字节改变,可以使用另外的StringBuffer类。调用递归(或其他动态方法)在主类中main方法必须是publicstaticvoid的,在main中调用非static类时会有警告信息,可以先建立对象,然后通过对象调用方法:publicclassMain{voiddfs(inta){if()return;dfs(a+1);}publicstaticvoidmain(Stringargs[]){Maine=newMain();e.dfs(0);}}其他注意的事项:(1)Java是面向对象的语言,思考方法需要变换一下,里面的函数统称为方法,不要搞错。(2)Java里的数组有些变动,多维数组的内部其实都是指针,所以Java不支持fill多维数组。数组定义后必须初始化,如int[]a=newint[100];(3)布尔类型为boolean,只有true和false二值,在if()/while()等语句的条件中必须为boolean类型。在C/C++中的if(n%2)在Java中无法编译通过。(4)下面在java.util包里Arrays类的几个方法可替代C/C++里的memset、qsort/sort和bsearch:Arrays.fill()Arrays.sort()Arrays.binarySearch()虽然Java功能很强大,但不能完全依赖他,毕竟C和C++还是ACM/ICPC的主流语言,适当地使用才能有效提高比赛中的成绩。。。附:例题:POJ10011importjava.io.*;2importjava.util.*;3importjava.math.BigDecimal;45publicclassMain{67publicstaticvoidmain(Stringargs[])8{9Scannercin=newScanner(System.in);1011BigDecimalnum;12intn;13Stringr;1415while(cin.hasNextBigDecimal())16{17num=cin.nextBigDecimal();18n=cin.nextInt();19num=num.pow(n);20r=num.stripTrailingZeros().toPlainString();21if(r.startsWith("0."))r=r.substring(1);2223System.out.println(r);24}25}26}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式