洛谷:P1554 梦中的统计 JAVA
创始人
2024-05-28 20:26:18
0

思路:

定义一个长度为10的数组,数组下标代表数组元素的数字,比如arr[0]代表数字0.

用一个for循环,对每个数先取余再取整,知道取整得到的数为0,说明该数字已经被拆解完了。

今天又学了一个输入,原来它们叫快速输入输出(BufferedReader类、StreamTokenizer类、PrintWriter类)。

StreamTokenizer类:

StringTokenizer 用来分割字符串,你可以指定分隔符,比如',',或者空格之类的字符。

BufferedReader provides quite fast read operations for almost all problems. But this class may be used to read single characters and lines only. To read tokens and numbers you should use StringTokenizer orStreamTokenizer.

算法中的常见用法:

import java.io.*;public class Main
{public static void main(String[] args) throws IOException{//为了提高效率,使用BufferedReader创建StreamTokenizer对象 StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));int a, b;while(in.nextToken() != StreamTokenizer.TT_EOF){//nextToken()返回值为int型,StreamTokenizer.TT_EOF常量是int型,所以他俩能比较a = (int)in.nval;in.nextToken();b = (int)in.nval;out.println(a + b);}out.flush();}
}
为了从流中获取标记,可以调用StreamTokenizer的nextToken()方法。
调用nextToken()方法以后,如果标记是字符串,可用 String s=st.sval,如果是整数用 int n=(int) st.nval得到。

我的理解:String val, number val

nextToken() 每调用一次就会获取下一组标记 ,Java默认的分隔符是“空格"、"制表符(‘\t’)"、"换行符(‘\n’)"、"回车符(‘\r’)"

我对“标记”的理解:标记就是可以被StreamTokenizer读取的数据。

详细见:

(87条消息) 【Java基础】StreamTokenizer使用详解_小七mod的博客-CSDN博客

java StreamTokenizer使用 - likai_liche - 博客园 (cnblogs.com)

代码:

package 数组;import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;public class P1554 {public static void main(String[] args) throws IOException{// TODO Auto-generated method stubStreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));st.nextToken();int m = (int)st.nval;st.nextToken();int n = (int)st.nval;int[] arr = new int[10];for(int i = m; i <= n; i++) {for(int j = i; j != 0;) {arr[j % 10]++;j /= 10;}}for(int x: arr) {pw.print(x+" ");}pw.flush();}
}

收获:

学到了快速输入StreamTokenizer类。

相关内容

热门资讯

伊朗外长:伊美第三轮会谈将于2...   新华社德黑兰4月19日电(记者陈霄 沙达提)伊朗伊斯兰共和国通讯社19日报道,伊朗外长阿拉格齐当...
完善竞业限制保障劳动者合法权益 转自:法治日报□ 尹诗雅 刘智铭  2025年《政府工作报告》强调支持劳动密集型产业吸纳和稳定就业,...
二向箔能打败三维生命吗? 二向箔能打败三维生命吗? 二向箔将太阳系从三维空间变成只有“长宽”两个维度,而“厚度”为零的二维空间...
美国最高法院叫停政府驱逐委籍人... 转自:央视新闻△资料图  美国最高法院当地时间19日下令,联邦政府必须暂停驱逐当前关押在得克萨斯州北...
看图猜字! 看图猜字!每个字里面都看到了酒,应该就是“酒”
特斯拉据悉推迟在美量产平价版M... 财联社4月20日讯(编辑 夏军雄)据媒体援引消息人士报道,特斯拉推迟了在美国制造平价版Model Y...
惠民演出进万家 吴勇 黄秭轩 王柯潞 摄(一师三团)
鹰眼预警:南兴股份营业收入下降 Hehson财经上市公司研究院|财报鹰眼预警4月19日,南兴股份发布2024年年度报告,审计意见为标...
美国又一小飞机坠毁 机上载有4... 当地时间4月19日,央视记者获悉,美国伊利诺伊州警方当天上午接到一起小型单引擎飞机坠毁的报告。美国联...
鹰眼预警:*ST嘉寓营业收入大... Hehson财经上市公司研究院|财报鹰眼预警4月19日,*ST嘉寓发布2024年年度报告,审计意见为...
工厂“黑科技”背后的产业新变迁 ●新华社记者 张辛欣 周圆 实体经济的“烟火气”在企业,企业的活力看生产线。 当机器...
兵团七人入选乡村文化和旅游带头... 本报乌鲁木齐讯(全媒体记者 马雪娇 实习生 赵冰冰) 近日,文化和旅游部办公厅发布2024年...
鹰眼预警:三川智慧营业收入大幅... Hehson财经上市公司研究院|财报鹰眼预警4月19日,三川智慧发布2024年年度报告,审计意见为标...
鹰眼预警:乐普医疗营业收入下降 Hehson财经上市公司研究院|财报鹰眼预警4月19日,乐普医疗发布2024年年度报告,审计意见为标...
鹰眼预警:冀凯股份应收账款增速... Hehson财经上市公司研究院|财报鹰眼预警4月19日,冀凯股份(维权)发布2024年年度报告,审计...
如何促进民营经济发展壮大 编者按 民营经济是推进中国式现代化的生力军,也是高质量发展的重要基础。中央经济工作会议指出,“...
兵团“2025年青年普法志愿者... 本报石河子讯(全媒体记者 史进) 4月17日,由兵团法学会、司法局、团委联合举办的兵团“2025...
以军恢复军事行动来首名以士兵在... 当地时间19日晚间,以色列国防军证实,当天早些时候,以军部队在加沙地带北部的拜特哈嫩遭巴勒斯坦伊斯兰...
共建宜居美好家园,看看他们怎么... ●谢国庆  张乐  谭新文  周情  李振蒙  陈健生  王璐璐  张刘武编者按春风拂绿万象新,环境...