您好,登錄后才能下訂單哦!
這篇文章主要介紹了java中的hasNext()怎么用,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
編寫一段程序實現如果輸入的一組數中含非整數數字,輸出數字相加的和以及"attention"字符,如果全部是數字便輸出數字的和。
程序1:
package mian;import java.util.Scanner;public class mian { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int s=0; String str=null; while(sc.hasNext()){ if(sc.hasNextInt()){//判斷是否是數字 s+=sc.nextInt(); }else{ str=sc.next();//不寫這句話會導致只會加非數字前數字的和,必須將這個非數字字符串吸收了 } } System.out.println(s); if(str!=null){ System.out.println("attention"); }sc.close(); }}
程序2:
import java.util.Scanner;public class Main{ //return -1: -10(帶負號) //return 1: +10(帶正號) //return 0 非數字字符串 //return 2: 10(不帶正負號) public static int checkNum(String str){//判斷是否是數字串 if(str.charAt(0)=='-'){ for(int i=1;i<str.length();i++){ if(str.charAt(i)-'0'>9||str.charAt(i)-'0'<0){ return 0; } }return -1; }else if(str.charAt(0)=='+'){ for(int i=1;i<str.length();i++){ if(str.charAt(i)-'0'>9||str.charAt(i)-'0'<0){ return 0; } }return 1; }else{ for(int i=0;i<str.length();i++){ if(str.charAt(i)-'0'>9||str.charAt(i)-'0'<0){ return 0; } }return 2; }}public static void main(String []args){ int flag=0,s=0,sum=0; Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String a=sc.next(); if(checkNum(a) == 1){ for(int i=1;i<a.length();i++){ s=s*10+a.charAt(i)-'0'; }sum+=s;s=0; }else if(checkNum(a) == -1){ for(int i=1;i<a.length();i++){ s=s*10+a.charAt(i)-'0'; }sum+=-s;s=0; }else if(checkNum(a) == 2){ for(int i=0;i<a.length();i++){ s=s*10+a.charAt(i)-'0'; }sum+=s;s=0; }else{ flag=1; //continue; } }if(flag==0){System.out.println(sum);}else{System.out.println(sum);System.out.println("attention");}sc.close();}}
感謝你能夠認真閱讀完這篇文章,希望小編分享的“java中的hasNext()怎么用”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。