第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

避免來自用戶輸入的 NullPointerException

避免來自用戶輸入的 NullPointerException

阿晨1998 2022-05-12 16:08:56
我正在使用 JDK 1.7,我正在檢查所有輸入條件的代碼。如果用戶沒有在字符串中輸入任何值,那么它會拋出 NullPointerException。即使用戶沒有輸入任何值,有沒有辦法防止導(dǎo)致 NullPointerException?我嘗試嘗試捕獲塊來捕獲異常import java.util.*;import java.io.BufferedReader;import java.io.InputStreamReader;class TestClass {   public static void main(String args[]) throws Exception {    Scanner s = new Scanner(System.in);        int i=s.nextInt();    System.out.println(i);    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));    String str = br.readLine();    try{        int length=str.length();  //NullPointerException here        if(length>=1 && length<=15)        {            System.out.println(str);        }    }    catch(NullPointerException e)    {        System.out.println("Must enter a string");    }   }}樣本輸入 - 5 null預(yù)期輸出- 5(空字符串值->“”但沒有拋出異常消息)
查看完整描述

3 回答

?
心有法竹

TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊

爪哇 8

int length = Optional.ofNullable(str).orElse("").length();

爪哇 7

int length = str == null ? 0 : str.length();

Java 7 + Apache Commons

int length = StringUtils.length(str);

采用Scanner

使用Scanner代替BufferedReader; scane.nextLine()返回不是null字符串。


public static void main(String... args) {

    try (Scanner s = new Scanner(System.in)) {

        System.out.println(s.nextInt());


        s.nextLine();


        String str = s.nextLine();


        if (str.length() >= 1 && str.length() <= 15)

            System.out.println(str);

    }

}


查看完整回答
反對 回復(fù) 2022-05-12
?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗 獲得超2個贊

1) 閱讀文檔 - 請注意 BufferedReader.readline 在明確定義的情況下可以合法地返回 null。

2)編寫可以處理可能的空返回的代碼。


查看完整回答
反對 回復(fù) 2022-05-12
?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗 獲得超8個贊

import java.util.*;

import java.io.BufferedReader;

import java.io.InputStreamReader;

class TestClass {

   public static void main(String args[]) throws Exception {


    Scanner s = new Scanner(System.in);    

    int i=s.nextInt();

    System.out.println(i);


    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    String str = br.readLine();

        if(str!=null && str.length() >=1 && str.length()<=15)

        {

            System.out.println(str);

        }

    }

   }

}


查看完整回答
反對 回復(fù) 2022-05-12
  • 3 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號