【发布时间】:2017-06-19 20:14:53
【问题描述】:
我实际上是 Java 库的新手。我不知道这段代码在做什么。 我被赋予了优化这一点的任务。任何帮助都会很有用。
我的意思是问str.equals(local) 是否在for 循环中检查整个字符串 aur 的特定索引值。
public void fnc(String str, int[] ar1)
{
String local = "findnumber";
for(int i=0; i<ar1.length; i++)
{
if(str.equals(local) && ar1[i] * 2 > 10)
{
Integer ip = new Integer(ar1[i]);
ip = ip * 2;
System.out.print(ip.toString());
}
}
}
【问题讨论】:
-
请展示您的尝试。这里有很多容易改进的地方,但仅仅告诉你答案对你来说几乎没有学习优势。
-
复杂性是什么意思?算法的计算复杂度?人类阅读/理解代码的复杂性?
-
if(str.equals("findnumber")) for(int i: ar1) { i*=2; if(i>10) System.out.print(i); } -
没有必要做两次乘法。由于比较需要其结果,因此您必须在比较之前执行此操作。您只能在对象上调用
toString()(例如Integer实例),但这里已经过时了,因为print(int)已经执行了预期的操作。 -
就像我问你“猫是什么意思?猫科动物还是土方设备?” ...而你回答“我的意思是整只猫”。
标签: java optimization java-8 libraries