我正在研究一个项目,出于某种原因,当我运行它并选择选项B它会把我带回菜单而我不确定为什么,它不是在做B案例...有人可以帮我找到我的错?谢谢!
这就是我所做的:
package arreglosprincipal;
/**
*
* @author Thais Arelis
*/
import java.util.Scanner;
public class ProblemasArreglos {
Scanner sc= new Scanner(System.in);
int Arreglos [];
String opcion=" ";
public ProblemasArreglos(){
}
public void llenarArreglo(){
String MenuPrincipal=("Seleccione lo que desea hacer: "
+"\n A- Ingresar Valores"
+"\n B- Imprimir"
+"\n C- Calcular el mayor"
+"\n D- Ordenar Valores"
+"\n E- Buscar Valor"
+"\n F- Salir");
do{
System.out.println(MenuPrincipal);
opcion=sc.next();
switch(opcion) {
case "A":
case "a":
System.out.println("How many numbers do you wish to enter?");
int cantidad;
cantidad=sc.nextInt();
Arreglos=new int[cantidad];
for(int i=0;i<Arreglos.length;i++){
System.out.println("Please write a number");
Arreglos[i]=sc.nextInt();
}
for(int i=0;i<Arreglos.length;i++){
System.out.println("The numbers are:"+ Arreglos[i]);
}
System.out.println(" ");
break;
case "B":
case "b":
String Arreglos []= new String[5];
String numero;
for(int i=0;i<Arreglos.length;i++){
System.out.println("Numero:");
numero=sc.nextLine();
Arreglos[i]=numero;
}
for(int i=0;i<Arreglos.length;i++){
System.out.println("Los numeros son:"+ Arreglos[i]);
}
break;
}
}while(opcion!="F");
}
}
答案 0 :(得分:1)
我在eclipse中运行这些代码,然后它正常运行,除了光标不在System.out.print
下面的新行。另一个现象是按下“F”不会按预期退出。
在java中,Object == Object
比较两个引用,而不是它们的值。您可以使用char option
,这是一种原始数据类型,或使用option.euqals("F")
来避免引用比较。