输入不匹配

时间:2015-03-22 15:14:14

标签: java java.util.scanner

我的代码输入有问题。在程序中我想创建一个菜单,允许我们在其中放置形状。在第一个选项中,当我写方形,圆形或矩形时,程序应该问我侧面,半径或高度和宽度。然而,当我写出这种形状时,程序会回到菜单,因为什么也没发生。你能帮忙吗?

  import java.util.*; 

  public class test
  {
     public static void main(String[] args) 
     {
         Scanner scan = new Scanner(System.in);
         Scanner scan2 = new Scanner(System.in);
         String kindofshape;
         int choice, radius, width, height, side;

         do
         {
            System.out.println("(1) Add a shape to the list");
            System.out.println("(2) Get the total area of the shapes");
            System.out.println("(3) Show information of the shapes");
            System.out.println("(4) Quit");
            System.out.println("Choice : ");
            choice = scan.nextInt();

            if (choice == 1)
            {
                System.out.println("enter the type of the shape");
                kindofshape = scan2.nextLine();
                if(kindofshape == "circle")
                {
                    System.out.println("enter the radius");
                    radius = scan.nextInt();              
                }
                if(kindofshape == "rectangle")
                {
                    System.out.println("enter the width");
                    width = scan.nextInt();
                    System.out.println("enter the height");
                    height = scan.nextInt();   
                }
                if(kindofshape == "square")
                {
                    System.out.println("enter the width");
                    side = scan.nextInt(); 
                }
            }

        }while(choice != 4);

      }
  }

1 个答案:

答案 0 :(得分:2)

这是Java。您应该将字符串与.equals()进行比较,而不是与==进行比较。 如果将字符串与==进行比较,则比较实例但不比较字符串值。 请使用switchif-else结构。