题解 | 牛牛学说话之-整数

牛牛学说话之-整数

https://www.nowcoder.com/practice/df9ee533ef9544bfa382203c812d9b55

package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

func main() {
	// 创建扫描器,按单词(空格/换行分隔)读取输入(对应Java的Scanner)
	scanner := bufio.NewScanner(os.Stdin)
	scanner.Split(bufio.ScanWords)

	// 循环读取整数,直到无有效整数或输入结束(对应Java的while(in.hasNextInt()))
	for scanner.Scan() {
		token := scanner.Text()
		// 尝试将读取到的字符串转为整数(对应Java的in.nextInt())
		num, err := strconv.Atoi(token)
		if err != nil {
			// 遇到非整数,终止循环(对应Java的hasNextInt()返回false)
			break
		}
		// 打印整数(与原Java代码输出逻辑一致)
		fmt.Println(num)
	}

	// 检查扫描过程中的IO错误(如输入流异常)
	if err := scanner.Err(); err != nil {
		fmt.Fprintf(os.Stderr, "输入读取错误: %v\n", err)
	}
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务