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()的更多相关文章
- Java使用hasNext()输入不定长数组
1 Scanner scan = new Scanner(System.in); 2 String s = scan.nextLine(); 3 Scanner sc = new Scanner(s) ...
- Java的23种设计模式 <二>
1.单例模式(Singleton Pattern) 定义:Ensure a class has only one instance, and provide a global point of acc ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- poj 1001 求高精度幂(Java, BigDecimal, pow, hasNext, stripTrailingZeros, toPlainString)
求高精度幂 Time Limit: 500MS Memory Limit: 10000K Total Submissions: 180325 Accepted: 43460 Descripti ...
- java.util.Scanner中hasNext()方法和next()方法的区别
先说结论: 两者均根据空格划分数据 两者在没有数据输入时均会等待输入 next()方法会将空格划分的数据依次输出,运行一次,输出一个 hasNext()方法会跟着next()方法移动,当前数据不为空, ...
- Java 常用类库一,main方法传参String[] args;获取输入Scanner ;hasNext();hasNextInt()
1. main方法传参 package com.zmd.common_class_libraries; /** 给mian方法传参测试 */ public class MainArgsTest { p ...
- java Scanner中的hasNext()方法
hasNext()方法判断输入(文件.字符串.键盘等输入流)是否还有下一个输入项,若有,返回true,反之false. Scanner sc = new Scanner(new File(" ...
- 一起学 Java(三) 集合框架、数据结构、泛型
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- java基础_集合List与Set接口
List接口继承了Collection的方法 当然也有自己特有的方法向指定位置添加元素 add(索引,添加的元素); 移除指定索引的元素 remove(索引) 修改指定索引的元素 set ...
随机推荐
- string和stringBuffer,stringBuilder的区别
1,String类的内容一旦声明后是不可改变的,改变的只是其内存的指向,而StringBuffer类的对象内容是可以改变的. 2,对于StringBuffer,不能像String那样直接通过赋值的方式 ...
- same-security-traffic
关于Inter-interface和intra-interface: 要允许具有相同安全级别的接口之间的通信,或允许流量进入和退出同一接口,请在全局配置模式下使用same-security-traff ...
- Manacher算法--O(n)回文子串算法
转自:http://blog.csdn.net/ggggiqnypgjg/article/details/6645824 O(n)回文子串算法 注:转载的这篇文章,我发现下面那个源代码有点bug... ...
- Python学习笔记010
倒三角 num2 = int(input("Line:")) while num2 > 0: num1 = num2 while num1 > 0: ...
- SpringBoot yml文件语法
SpringBoot提供了大量的默认配置,如果要修改默认配置,需要在配置文件中修改. SpringBoot默认会加载resource下的配置文件: application*.yml applicati ...
- C/C++网络编程3——地址族与数据序列
C/C++网络编程2中介绍了套接字,这一节介绍给套接字分配ip和端口号.ip用于标识一台主机,端口号用于标识一个主机中的一个应用程序,端口号占16位,0到65535,其中0到1023是知名端口号. 表 ...
- app生命周期之即将关闭
需求:当软件正在进行任务还未结束时,如果用户强制退出软件,需要将一些数据进行保存等处理. 策略:当用户使用多任务将软件挂起,并滑掉软件时,接下来有5妙钟的时间留给软件做处理.会调用- (void)ap ...
- PTA的Python练习题(三)
继续在PTA上编写Python的编程题. 从 第2章-11 求平方与倒数序列的部分和 开始 1. a,b=map(int,input().split()) s=0 while(a<=b): s= ...
- 关于Action模型驱动无法获取属性的问题
这两天在练习ssh小项目发现action层怎都无法获取Ajax传过来的json: 1.检查表单name和action定义属性名是否一致 2.get/Set方法 3.表单和属性名的命名问题,驼峰法
- Caffe2 载入预训练模型(Loading Pre-Trained Models)[7]
这一节我们主要讲述如何使用预训练模型.Ipython notebook链接在这里. 模型下载 你可以去Model Zoo下载预训练好的模型,或者使用Caffe2的models.download模块获取 ...