我是javascript的新手,所以我决定在这里问一下。我有一个小javascript的问题,显示电梯将停在哪里(哪个楼层)。它从0楼开始,每个U表示UP,每个D表示DOWN。所以这就是我所拥有的。
<script language="JavaScript">
var temp = "UUDDUDUUDUDUDUDUDUDUDDD"; //
var hore = (temp.match(/U/g) || []).length; //UP
var dole = (temp.match(/D/g) || []).length; //DOWN
pociatocne_poschodie = 0;
vytah_zastavil = (hore - dole) + pociatocne_poschodie;
document.write(vytah_zastavil);
</script>
效果很好,但我需要在地下室第一次升降时输出(经过多少步骤)。
有什么想法吗?提前致谢
答案 0 :(得分:0)
请查看这是否是您需要的,您需要将日志更改为document.write目前获得第23步的第一步
var temp = "UUDDUDUUDUDUDUDUDUDUDDD";
var floor = 0;
for (var i = 0; i<temp.length; i++){
var c = temp.charAt(i);
if(c === "U"){
floor++;
}
if(c === "D"){
floor--;
}
if(floor === -1){
document.write("reached basement in " + (i+1) + " steps");
}
}
答案 1 :(得分:0)
谢谢!这就是我需要的东西!
var temp = "UUDDUDUUDUDUDUDUDUDUDDD";
var floor = 0;
for (var i = 0; i<temp.length; i++){
var c = temp.charAt(i);
if(c === "U"){
floor++;
}
if(c === "D"){
floor--;
}
if(floor === -1){
console.log("reached basement in " + i + "steps");
}
}
&#13;
答案 2 :(得分:0)
var temp = "UUDDUDUUDUDUDUDUDUDUDDD"; //
var count = 0;
var basement = -1;
var step;
for (var i = 0; i < temp.length; i++) {
if (temp[i] == "U") {
count += 1
} else if (temp[i] == "D") {
count -= 1
}
if (count == basement) {
step = i;
break;
}
}
console.log(step);
答案 3 :(得分:0)
这是我的解决方案,包含各种示例。
我希望能帮助你。
class Node {
private int number;
private Node next;
public Node(int n) {
this.number = n;
this.next = null;
}
public Node getNext() {
return next;
}
public int getNumber() {
return number;
}
public void setNext(Node n) {
if (n == null)
return;
n.setNext(next);
next = n;
}
public String toString() {
return number + "";
}
}