如何使用户结束此程序? //************************************************************ //电梯.java // //电梯模拟 //问题:需要找到一种方法使程序在用户输入后继续运行 //他们想要的第一层楼。 // ************************************************************ 导入java.util.*; 公共级电梯仿真{ 公共静态void main(字符串[]args){ 个人用户=新的个人(); 地板=新地板(); floors.move电梯(User.getDesiredFloor()); } } 类电梯{//需要SETTER和GETTER方法 私有整数质量=0; 私人综合能力=0; 私有字符串名称=”; 私有字符串颜色=”; } 班级{ ArrayList floorLevel=新的ArrayList(); 电梯电梯=新电梯(); 人=新人(); 楼层(){//0-9层 地板层。添加(提升);//0 floorLevel.add(null);//1 floorLevel.add(null);//2 floorLevel.add(null);//3 floorLevel.add(null);//4 floorLevel.add(null);//5 floorLevel.add(null);//6 floorLevel.add(null);//7 floorLevel.add(null);//8 floorLevel.add(null);//9 } System.out.println(“电梯在楼层:“+floorLevel.indexOf(电梯)); 公共电梯(内选楼层){ 如果(选择楼层>9){ System.out.println(“哇哦,伙计!你只能选择0-9!”); 返回; } if(chosenFloor==楼层索引(电梯)){ System.out.println(“兄弟,你已经在那一层了…”); } while(电梯的楼层索引>选择楼层){ 集合交换(floorLevel,floorLevel.indexOf(Lift),(floorLevel.indexOf(Lift)-1)); 系统输出打印LN(楼层索引(电梯)); } while(floorLevel.indexOf(Lift)
您可以将如何使用户结束此程序? //************************************************************ //电梯.java // //电梯模拟 //问题:需要找到一种方法使程序在用户输入后继续运行 //他们想要的第一层楼。 // ************************************************************ 导入java.util.*; 公共级电梯仿真{ 公共静态void main(字符串[]args){ 个人用户=新的个人(); 地板=新地板(); floors.move电梯(User.getDesiredFloor()); } } 类电梯{//需要SETTER和GETTER方法 私有整数质量=0; 私人综合能力=0; 私有字符串名称=”; 私有字符串颜色=”; } 班级{ ArrayList floorLevel=新的ArrayList(); 电梯电梯=新电梯(); 人=新人(); 楼层(){//0-9层 地板层。添加(提升);//0 floorLevel.add(null);//1 floorLevel.add(null);//2 floorLevel.add(null);//3 floorLevel.add(null);//4 floorLevel.add(null);//5 floorLevel.add(null);//6 floorLevel.add(null);//7 floorLevel.add(null);//8 floorLevel.add(null);//9 } System.out.println(“电梯在楼层:“+floorLevel.indexOf(电梯)); 公共电梯(内选楼层){ 如果(选择楼层>9){ System.out.println(“哇哦,伙计!你只能选择0-9!”); 返回; } if(chosenFloor==楼层索引(电梯)){ System.out.println(“兄弟,你已经在那一层了…”); } while(电梯的楼层索引>选择楼层){ 集合交换(floorLevel,floorLevel.indexOf(Lift),(floorLevel.indexOf(Lift)-1)); 系统输出打印LN(楼层索引(电梯)); } while(floorLevel.indexOf(Lift),java,loops,simulator,Java,Loops,Simulator,您可以将while环绕线放置 // ************************************************************ // ELEVATOR.java // // ELEVAOTR SIMULATION // PROBLEM: NEED TO FIND A WAY TO AMKE IT SO THAT THE PROGRAM KEEPS RNNING AFTER USER INPUTS // THIER FIRST DESIRED FLOOR. // *
while
环绕线放置
// ************************************************************
// ELEVATOR.java
//
// ELEVAOTR SIMULATION
// PROBLEM: NEED TO FIND A WAY TO AMKE IT SO THAT THE PROGRAM KEEPS RNNING AFTER USER INPUTS
// THIER FIRST DESIRED FLOOR.
// ************************************************************
import java.util.*;
public class Elevator_Simulation {
public static void main (String[] args) {
Person User = new Person();
Floor floors = new Floor();
floors.moveElevator(User.getDesiredFloor());
}
}
class Elevator { //NEEDS SETTER & GETTER METHODS
private int mass=0;
private int capcity=0;
private String name="";
private String color="";
}
class Floor {
ArrayList<Object> floorLevel = new ArrayList<Object>();
Elevator Lift = new Elevator();
Person Man = new Person();
Floor() { //Floors 0-9
floorLevel.add(Lift); //0
floorLevel.add(null); //1
floorLevel.add(null); //2
floorLevel.add(null); //3
floorLevel.add(null); //4
floorLevel.add(null); //5
floorLevel.add(null); //6
floorLevel.add(null); //7
floorLevel.add(null); //8
floorLevel.add(null); //9
}
System.out.println("Elevator is at Floor: " + floorLevel.indexOf(Lift) );
public void moveElevator (int chosenFloor) {
if (chosenFloor > 9) {
System.out.println("Woooooah Buddy! You can only choose 0-9!");
return;
}
if (chosenFloor == floorLevel.indexOf(Lift)) {
System.out.println("Bro you're already on that floor...");
}
while (floorLevel.indexOf(Lift)>chosenFloor) {
Collections.swap(floorLevel, floorLevel.indexOf(Lift), ( floorLevel.indexOf(Lift)-1 ) );
System.out.println(floorLevel.indexOf(Lift) );
}
while (floorLevel.indexOf(Lift)<chosenFloor) {
Collections.swap(floorLevel, floorLevel.indexOf(Lift), ( floorLevel.indexOf(Lift)+1 ) );
System.out.println(floorLevel.indexOf(Lift) );
}
}
}
class Person {
Scanner scan = new Scanner(System.in);
public int getDesiredFloor() {
int desiredFloor = scan.nextInt();
return desiredFloor;
}
}
只需为表示退出的值添加一个输入检查。您可以在循环行时放置
// ************************************************************
// ELEVATOR.java
//
// ELEVAOTR SIMULATION
// PROBLEM: NEED TO FIND A WAY TO AMKE IT SO THAT THE PROGRAM KEEPS RNNING AFTER USER INPUTS
// THIER FIRST DESIRED FLOOR.
// ************************************************************
import java.util.*;
public class Elevator_Simulation {
public static void main (String[] args) {
Person User = new Person();
Floor floors = new Floor();
floors.moveElevator(User.getDesiredFloor());
}
}
class Elevator { //NEEDS SETTER & GETTER METHODS
private int mass=0;
private int capcity=0;
private String name="";
private String color="";
}
class Floor {
ArrayList<Object> floorLevel = new ArrayList<Object>();
Elevator Lift = new Elevator();
Person Man = new Person();
Floor() { //Floors 0-9
floorLevel.add(Lift); //0
floorLevel.add(null); //1
floorLevel.add(null); //2
floorLevel.add(null); //3
floorLevel.add(null); //4
floorLevel.add(null); //5
floorLevel.add(null); //6
floorLevel.add(null); //7
floorLevel.add(null); //8
floorLevel.add(null); //9
}
System.out.println("Elevator is at Floor: " + floorLevel.indexOf(Lift) );
public void moveElevator (int chosenFloor) {
if (chosenFloor > 9) {
System.out.println("Woooooah Buddy! You can only choose 0-9!");
return;
}
if (chosenFloor == floorLevel.indexOf(Lift)) {
System.out.println("Bro you're already on that floor...");
}
while (floorLevel.indexOf(Lift)>chosenFloor) {
Collections.swap(floorLevel, floorLevel.indexOf(Lift), ( floorLevel.indexOf(Lift)-1 ) );
System.out.println(floorLevel.indexOf(Lift) );
}
while (floorLevel.indexOf(Lift)<chosenFloor) {
Collections.swap(floorLevel, floorLevel.indexOf(Lift), ( floorLevel.indexOf(Lift)+1 ) );
System.out.println(floorLevel.indexOf(Lift) );
}
}
}
class Person {
Scanner scan = new Scanner(System.in);
public int getDesiredFloor() {
int desiredFloor = scan.nextInt();
return desiredFloor;
}
}
仅为表示退出的值添加输入检查。
BTW考虑更改<代码>(CHONENOLL>9)< /C> >代码>(CHOSENLASE>9×CHOSENLASH<0)< /代码> BTW考虑更改<代码>(CHOSENLASE>9)< /代码>至<代码>(CHOSENLASE>9×CHOSENLASE<0)
谢谢!这是有道理的,尽管我必须在命令行中输入两次才能让它运行,我想知道为什么?@JevonøNo,可能是因为您发布的代码与您正在运行的代码不同。如果您添加while(true)
在我提到的那一行之前,它工作得很好。谢谢!这是有道理的,尽管我必须在命令行中输入两次才能让它运行,我想为什么?@JevonøNo,可能是因为你发布的代码与你正在运行的代码不一样。如果你在我提到的那一行之前添加while(true)
,它工作得很好。