不确定要放在对象字符串变量中的内容

时间:2015-05-23 06:05:03

标签: java oop object

我非常困惑,而且非常确定我这样做是错误的。这只是一个随机的应用程序,我正在制作以更好地理解编程到目前为止我有这个!

    <select class="form-control" name="category" id="category">
      <option value="">--Please select category--</option>
      <c:if test="${not empty productCategoryList}">
       <c:forEach items="${productCategoryList}" var="productCategory">
        <option id="catOptionId" value="${productCategory.pCatrgoryId}">${productCategory.pCategoryName}</option>
       </c:forEach>
      </c:if>
    </select>


    <select class="form-control" name="subCategory" id="subCategory">
      <c:if test="${not empty subCategoryList}">
       <c:forEach items="${subCategoryList}" var="subProductCategory">
        <option value="${subProductCategory.subCategoryId}">${subProductCategory.subCategoryName}</option>
       </c:forEach>
      </c:if>
    </select>

<script type="text/javascript">
      $(document).ready(function() {
      //Dropdown select
      $("#subCategory").attr("disabled", true);
      $("#category").change(function() {
        var catId = $(this[this.selectedIndex]).val();
        alert(catId);
        if (catId != "" && catId != null) {
           $("#subCategory").attr("disabled", false);
           $.ajax({
            type : 'GET',
            url : 'getSubCatOnCat',
            data : {subCat : catId},
            success : function(data) {
               alert(data);
            // Problem is at this point.
               $("#subCategory c:forEach").attr("items",data);
            },
        error : function(xmlHttpRequest,textStatus,errorThrown) {
            if (xmlHttpRequest.readyState = 0 || xmlHttpRequest.status == 0)
            return;
        },
        });
        }
       });
     });
    </script>

我把我遇到问题的地方放在代码中。我不知道在对象变量中放什么!

1 个答案:

答案 0 :(得分:1)

您不应该从构造函数中的输入读取值,构造函数应该仅用于初始化变量。在原始代码中,Player类不可重用,因为它取决于name变量的来源(并且它只能是标准输入)。序列化,克隆和制作Player的数组将变得如此困难或不可能,因为每次创建Player对象时它都会阻塞主线程并要求用户输入名称。

这段代码好一点:

public class Player {
    private String name;
    public Player(String name, String type,int things){
        this.name = name;
    }
    public String getName()  {
       return name;
    }
    public int[] playerMove(int x, int y){
        x = 3;
        y = 2;
        return new int[] {x , y};
    }

    public static void main(String args[]){
        System.out.println("Enter your players name: ");
        Scanner in = new Scanner(System.in);
        String name = in.nextLine();
        Player devin = new Player(name, "class", 3);
        System.out.println("You entered " + devin.getName());
    }

}