思路跟c的一样,也是用数组,不过java里面while语句体里要在最后加上sum=0,将sum初始化为0,不然sum的值会保留。
比如输入1 2 得到结果是17,再输入3 2 3 1 结果却成了58。
import java.util.Scanner;
public class elevator {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int []a = new int[100];
int sum=0;
int i;
while(sc.hasNext()) {
int n = sc.nextInt();
if(n==0)
break;
for(i=0;i<n;i++) {
a[i] = sc.nextInt();
}
for (i = 0; i < n - 1; i++) {//从第二次使用电梯开始,这个循环才起到作用
if (a[i] < a[i + 1])//后面一层大于前面一层就是上升,用6s
sum += (a[i + 1] - a[i]) * 6;
if (a[i] > a[i + 1])//后面一层小于前面一层就是下降,用4s
sum += (a[i] - a[i + 1]) * 4;
}
sum += a[0] * 6 + n * 5;
System.out.println(sum);
sum = 0;//每个循环都要将sum初始化为0
}
}
}