在不使用NextLine

时间:2018-09-06 20:39:53

标签: java exception java.util.scanner spaces inputmismatchexception

  

说明:

我在以下代码中使用了多个扫描仪语句。首先,我阅读“地址”,然后阅读“手机号”。然后来自用户的一些随机内容。

当我使用adress=sc.next()

它从用户(没有空格)读取地址的字符串值,然后转到下一个扫描语句,即mobile=sc.nextBigInteger()。通过使用此方法,我无法读取“ adress(string)”中的空格,并且将运行时错误作为inputMismatchException抛出。

现在,如果我使用adress=sc.NextLine,则Progrram会直接跳至mobile=sc.nextBigInteger()

在上述情况和以下代码中,如何读取空格作为输入。我如何保护自己免受运行时错误的影响。我在论坛上也遇到了类似的问题,但没有一个令人满意。谢谢。 (如果需要有关问题的更多信息,请问我)

  

预期:             输入(在地址字符串中):pune maharashtra india

     

输出(在显示功能中):印度pune mahrashtra。

     

发生了什么:如果输入(在地址字符串中):pune输出(在显示功能中):pune

     

如果输入(在地址字符串中):印度浦那
           (现在,当我输入字符串并在其中输入内容时,我会收到运行时错误,作为inputmismatchexception)

> JAVA

    public class Data {
           Scanner sc = new Scanner(System.in);

          String adress;
          BigInteger AcNo;
          BigInteger mobile;
          String ifsc;

        void getData() {                                                                 

          System.out.println("Welcome to  Bank System");

          System.out.println("Please Enter the adress :");
           adress= sc.next();

           System.out.println("Enter the Mobile Number");
             mobile = sc.nextBigInteger();

           System.out.println("Enter the Account Number");
           AcNo = sc.nextBigInteger();

           System.out.println("Enter the IFSC Code");
           ifsc= sc.next();
        }

           public static void main(String[] args) {
               Data d=new Data();
                 d.getData();
          }
        }

1 个答案:

答案 0 :(得分:0)

更改此行;

return SlidesApp.openById(newFile.getId()); 

有这行;

...
$ResultUser = sqlsrv_fetch_array($StmtUser);
echo $ResultUser['xxx'];

这将解决您的问题。 adress= sc.next(); 返回所有内容,直到下一个新行adress = sc.nextLine(); scan.nextLine()为止,但delimiter不是。

所以所有代码都是这样;

\n