• 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();
    
    }
    
    
    
    }
    不一样的烟火
  • 相关阅读:
    NET在后置代码中输入JS提示语句(背景不会变白)
    corev4.css 左菜单修改CSS
    寺庙里的那点荡事儿
    sharepoint 2010中通过命令部署和卸载FEATURE
    定时任务 Timer JOB
    获取MOSS个人站点的SPWeb对象
    C#对Active Directory进行增删修查的类源码
    权限操作
    在SharePoint中,检验用户(SPUser)是否属于给定的组(SPGroup)的方法(代码)
    DirectoryEntry所有字段对应解释
  • 原文地址:https://www.cnblogs.com/cstdio1/p/11600132.html
Copyright © 2020-2023  润新知