题解 | 牛牛学说话之-整数
牛牛学说话之-整数
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)
}
}
