package in;import java.util.Scanner;public class SellGoodsSystem {
static String[] goodsArray;
public void goodsDisplay(){
 goodsArray=new String[]{"0:醒目","1:鲜橙多","2:潘石榴","3:娃哈哈" ,
"4:绿茶","5:红茶","6:可口可乐"};
System.out.print("商品");
for(int i=0;i<goodsArray.length;i++){
System.out.print("    "+goodsArray[i]);
}
}
public static void main(String[] args) {
SellGoodsSystem goods=new SellGoodsSystem();
goods.goodsDisplay();
System.out.print("\n");
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你想要饮料的序号:");
if(scanner.hasNextInt()){
int a=scanner.nextInt();
if((a<0)&&(a>6)){
System.out.println(goodsArray[a]);
}else{
System.out.print("警告!!你的操作不正确!"); 
}
}
else{
System.out.println("您的操作不正确!");
}
}
}

解决方案 »

  1.   

    if/else你写反了.if ((a < 0) && (a > 6)) {
                    System.out.print("警告!!你的操作不正确!");
                } else {
                    System.out.println(goodsArray[a]);
                }
      

  2.   

    建议把
    goodsArray=new String[]{"0:醒目","1:鲜橙多","2:潘石榴","3:娃哈哈" ,
    "4:绿茶","5:红茶","6:可口可乐"}; 
    放到构造方法里.
      

  3.   

    import java.util.Scanner;public class SellGoodsSystem { static String[] goodsArray; public void goodsDisplay() {
    goodsArray = new String[] { "0:醒目", "1:鲜橙多", "2:潘石榴", "3:娃哈哈", "4:绿茶",
    "5:红茶", "6:可口可乐" };
    System.out.print("商品");
    for (int i = 0; i < goodsArray.length; i++) {
    System.out.print("    " + goodsArray[i]);
    }
    } public static void main(String[] args) {
    SellGoodsSystem goods = new SellGoodsSystem();
    goods.goodsDisplay();
    System.out.print("\n");
    Scanner scanner = new Scanner(System.in);
    System.out.println("请输入你想要饮料的序号:");
    if (scanner.hasNextInt()) {
    int a = scanner.nextInt();
    //这里判断写反了吧,太粗心了
    if ((a >= 0) && (a <= 6)) {
    System.out.println(goodsArray[a]);
    } else {
    System.out.print("警告!!你的操作不正确!");
    }
    } else {
    System.out.println("您的操作不正确!");
    }
    }
    }楼主要细心啊!
      

  4.   

    判断条件不对,应该是0<a<6的时候输出啊!
      

  5.   

    楼主,你想输出什么?
    goods.goodsDisplay(); 执行的时候应该输出:
    商品    0:醒目    1:鲜橙多    2:潘石榴    3:娃哈哈    4:绿茶    5:红茶    6:可口可乐
    然后下边直接写出:
    请输入你想要饮料的序号:
    您的操作不正确!
      

  6.   

    判断写反了啊,呵呵import java.util.Scanner;public class SellGoodsSys { /**
     * @param args
     */
    private String[] goodsArray;
    public static void main(String[] args) {
    SellGoodsSys goods = new SellGoodsSys();
    System.out.println();
    Scanner scan = new Scanner(System.in);
    System.out.print("请输入一个0~6之间的数字:");

    if(scan.hasNextInt()){
    int a = scan.nextInt();
    if(a>=0&&a<=6){
    System.out.println(goods.goodsArray[a]);
    }else{
    System.out.println("您的操作不正确!!!");
    }
    }else{
    System.out.println("您输入的不是整数");
    }
    }

    public SellGoodsSys(){
    goodsArray = new String[]{"0:醒目","1:鲜橙多","2:潘石榴","3:娃哈哈","4:绿茶","5:红茶","6:可口可乐"};
    System.out.print("商品:");
    for(int i=0;i<goodsArray.length;i++){
    System.out.print(" "+goodsArray[i]);
    }
    }
    }
     
      

  7.   

    if ((a < 0) && (a > 6))           
    写错了
    应为
    if((a>=0)&&(a<=6))