当前位置: 代码迷 >> J2EE >> 熬到现在也没发现异常==,为什么小弟我的Java没法运行
  详细解决方案

熬到现在也没发现异常==,为什么小弟我的Java没法运行

热度:97   发布时间:2016-04-17 22:59:32.0
熬到现在也没发现错误==,为什么我的Java没法运行?
但是没有发现错误啊,我们做的事一个储物箱的系统,就类似是我们超市,可以打开储物箱,也可以用密码来提取东西

package com.javashiyan;

import java.util.Scanner;

import org.omg.CORBA.PUBLIC_MEMBER;

public class Ex5_1 {


public static void main(String[] args) {
PackageSystem p1=new PackageSystem();
p1.setPackage();
}

}
class Package{
int i;
int j=0;
int mima=(int)Math.random()*9999;
void getShow(){
if(j==0){
System.out.println("0");//原来是空心圆
}
else{
System.out.println("1");//这是实心圆论坛没法发特殊字符
}
}
}
class PackageSystem{
Scanner reader=new Scanner(System.in);
String h1=reader.next();
String h2=reader.next();
String h3=reader.next();
String h4=reader.next();
String h6=reader.next();
String h5=reader.next();
static void Show(Package a){
System.out.print(a.i);
a.getShow();
}


 public static  int  Coin(Package a){
if (a.j==0) {
System.out.println("请取密码纸("+a.i+", "+a.mima+")");
a.j++;
return 1;
}
return 0;
}
 public  static void TakeOut(Package a,int mima2){
 if (mima2==a.mima) {
System.out.println("谢谢惠顾!("+a.i+")");
}
 else  {
System.out.println("密码错误!");
}
 
 }
 
 
public  int  setPackage(){
System.out.println("请输入箱格的总数: ");
int num=reader.nextInt();
Package a[]=new Package [num];
for (int i = 0; i < a.length; i++) {
a[i].i=i;
a[i]=new Package();
a[i].mima=(int)Math.random()*9999;
//对象数组!
}
System.out.println("提示:输入help,可查询本程序 ");
h1="help";
h2="show";
h3="cion";
h4="exit";
h6="take";
h5=reader.next();
if (h5.equals(h1)) {
System.out.println("输入help,可以查询本程序.");
}
else if (h5.equals(h2)) {
for (int i = 0; i < a.length; i++) {
PackageSystem.Show(a[i]);
}

}
else if (h5.equals(h3)) {
for (int i = 0; i < a.length; i++) {
if (PackageSystem.Coin(a[i])==1) {

}
}

}
else if (h5.equals(h6)) {
System.out.println("输入密码");
int mima1=reader.nextInt();
for (int i = 0; i < a.length; i++) {
PackageSystem.TakeOut(a[i],mima1);
}

}
else if(h5.equals(h4)) {
return 0;
}
return 0;
}

}
------解决思路----------------------
试了下你的代码,可以运行啊。
就是你的类PackageSystem 下的成员变量相关代码:
String h1=reader.next();
String h2=reader.next();
String h3=reader.next();
String h4=reader.next();
String h6=reader.next();
String h5=reader.next();
一般不这样写,reader.next() 是阻塞方法,监听你控制台输入的字符串。
你这样写,代码执行到reader.next()就会“停住”,直到你输入了字符串再执行下面的代码,
所以你好像觉得java没有运行。