这是我的代码:
Meteor.startup(function() {
console.log(Object.keys(Meteor.server.method_handlers).sort());
});
所以我被我的程序困住了。当它达到60时,我希望它反转这些值。
例如,如果我有一个[1 2 3 4 5]的数组,它会继续运行直到达到5。
我希望它倒退并做[1 2 3 4 5 4 3 2 1](或直到数组插槽结束),但我想我最终还是颠倒了值......
另外,我希望else语句在“反思”之后停止。我会休息一下吗?
这是之前的代码,这可能是它错误的原因,因为它在角度碰到反射后继续打印出NaN。反射等于0,这也是错误的......
if (refractedAngleInDegrees > 60.0)
{
System.out.println ("The angle is making a reflection");
//should reverse the array and make it into a palindrome-like array
for (int f = 0; f < gradient.length /2; f++)
{
double anglesReversed = angleArray[f];
angleArray[f] = angleArray[gradient.length - f - 1];
angleArray[gradient.length - f - 1] = anglesReversed;
}
for (int e = 0; e < gradient.length; e++)
{
//System.out.println(angleArray[e]);
}
}
else
{
System.out.println ("The angle is refracting");
}
System.out.println(angleArray[x]);
x++;
}
答案 0 :(得分:1)
如果你想反映整个数组,这里是代码:
class Rev {
static int[] reflected(int[] a) {
int[] b = new int[a.length<<1];
System.arraycopy(a, 0, b, 0, a.length);
int i, j;
for (j = a.length-1, i = 0; j>=0; j--, i++) {
b[a.length+i] = a[j];
}
return b;
}
static void printArray(int[] a) {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + ",");
}
System.out.println();
}
public static void main(String[] args) {
final int[] a = {1, 2, 3, 4, 5};
int[] b = reflected(a);
printArray(a);
printArray(b);
}
}
如果您想反映其中的一部分,您只需稍微修改此代码即可。希望这会有所帮助。
输出结果为:
1,2,3,4,5,
1,2,3,4,5,5,4,3,2,1,