为了账号安全,请及时绑定邮箱和手机立即绑定

有关字符串的输入报错

有关字符串的输入报错

张三十 2016-03-01 01:25:45
package com.LargeOrSmall; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Player { //玩家属性 private int ID; private String Name; private List<Card> CardInHand; //玩家方法 Player(){ ID=0; Name=null; CardInHand=new ArrayList<Card>(); } //**************************** //玩家ID的输入输出 public void SetPlayerID(){ Scanner input=new Scanner(System.in); while(true){ try{ System.out.println("请输入用户id:"); this.ID=input.nextInt(); break; }catch(Exception e){ System.out.println("请输入整形数字作为ID!"); input=new Scanner(System.in); continue; } } input.close(); } public int PutPlayerID(){ return ID; } //**************************** //玩家姓名的输入输出 public void SetPlayeName(){ Scanner input=new Scanner(System.in); String name=new String(); name=input.next(); this.Name=name; input.close(); } public String PutPlayerName(){ return Name; } //****************************** //玩家现有手牌的输入输出 public void GetCardInHand(Card newCard){ CardInHand.add(newCard); } public void PutCardInHand(){ int i=0; for (Card card : CardInHand) { System.out.println("第"+(i++)+"张手牌为:"+card.PutColour()+card.PutNum()); } } public static void main(String[] args) { Player a=new Player(); a.SetPlayerID(); a.SetPlayeName(); System.out.println(a.PutPlayerID()); } }
查看完整描述

1 回答

?
张三十

TA贡献1条经验 获得超0个赞

请问为啥一调用SetPlayeName()方法就报错

查看完整回答
反对 回复 2016-03-01
  • 张三十
    张三十
    Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:907) at java.util.Scanner.next(Scanner.java:1416) at com.LargeOrSmall.Player.SetPlayeName(Player.java:45) at com.LargeOrSmall.Player.main(Player.java:85)
  • 1 回答
  • 0 关注
  • 1381 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信