版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、FizzBuzz和基本的IO语句,主讲:曲美霞,FizzBuzz 和基本的IO语句,FizzBuzz 基本的IO语句,FizzBuzz:,1 问题来源 2 问题描述 3 解决方案 4 新FizzBuzz,? FizzBuzz,Using FizzBuzz to Find Developers who GrokCoding The programmers Stairway to Heaven 用最简单的方法测试出来谁会编程 谁不会编程,1 问题来源:,Author: Imran Reasons: Imran discover that people who struggle to code do
2、nt just struggle on big problems,or even smallish problems ,they struggle with tiny problems. So I set out to develop questions that can identify this kind of developer and came up with a class of questions I call “FizzBuzz Questions” named after a game children often play (or are made to play) in s
3、chools in the UK. 来自:,2 问题描述:,English:,Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.,FizzBuzz 问题(Imran)总结:,问题描述:
4、 1100的整数, 如果是3的倍数则用Fizz替换输出; 如果是5的倍数则用Buzz替换输出; 既是3又是5的倍数则用FizzBuzz替换输出. 其余正常输出,2 解决方案:,1100 整数,被3整除,被5整除,3和5整除,问题抽象:,解决方案1: -if嵌套,for(int i=1;i=100;i+) if(i%15=0) System.out.print (“FizzBuzz”); else if(i%3=0) System.out.print (“Fizz”); else if(i%5=0) System.out.print (“Buzz”); else System.out.print
5、 (i); ,解决方案2 if和continue,for(int i=1;i=100;i+) if(i%15=0) System.out.print (“FizzBuzz”); continue; if(i%3=0) System.out.print (“Fizz”); continue; if(i%5=0) System.out.print (“Buzz”);continue; System.out.print (i); ,解决方案3switch和break,for(int i=1;i=100;i+) int k=1; if(i%3= =0) k+; if(i%5= =0) k+=2; sw
6、itch(k) case 1: System.out.println(i); break; case 2: System.out.println(“Fizz”); break; case 3: System.out.println(“Buzz”); break; case 4: System.out.println(“FizzBuzz”); break; ,解决方案4使用递归,public class FizzBuzz public static String fizzbuzz(int i) if(i=0) return “”; if(i%15=0) return fizzbuzz(i-1)+
7、”FizzBuzzzn”; if(i%3=0) return fizzbuzz(i-1)+”Fizzn”; if(i%5=0) return fizzbuzz(i-1)+”Buzzn”; return fizzbuzz(i-1)+i+”n”; public static void main(String args) System.out.println(fizzbuzz(100); ,解决方案5 OO,public class FizzBuzz public void printfizzbuzz( ) for(int i=1;i=100;i+) if(i%15=0) System.out.pr
8、intln(FizzBuzz); else if(i%3=0) System.out.println(Fizz); else if(i%5=0) System.out.println(Buzz); else System.out.println(i); ,public class TestFizz public static void main(String args) FizzBuzz fizz=new FizzBuzz(); fizz.printfizzbuzz(); ,问题深入:,如果此应用中,要求提供人机交互,从用户的输入中直接判断输入数是否能被3,被5或者被3和5整除呢?该如何解决?
9、,4 新FizzBuzz问题,接受用户从键盘的输入, 如果是3的倍数则用Fizz替换输出; 如果是5的倍数则用Buzz替换输出; 既是3又是5的倍数则用FizzBuzz替换输出. 其余则输出”你输入的数是XXX,不能被3也不能被5整除”,补充:java基本的输入输出语句,控制台输出(Console): (1) Java 风格 (2) C风格(JDK5),控制台输出,Java风格 -直接输出字符串,非字符串类型会自动转化为字符串。 System.out.println(y); System.out.print(y);,控制台输出,C风格(JDK5以后) -使用指定格式字符串和参数将格式化的字符串
10、写入此输出流的便捷方法 System.out.printf(“%,d”,1200000); System.out.printf(“%x”,42);,控制台键盘输入:,使用BufferedReader类(java.io包) 使用main方法传参 使用Scanner文本扫描器(java.util包),BufferedReader类,-从键盘输入流读入字符串,再转化为相应的类型。 import java.io.*; public class BufferIn public static void main(String args) throws IOException InputStreamRead
11、er ins = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(ins); String str = br.readLine(); ,(2) 使用args字符串数组参数传参输入,public class ArgsInput public static void main(String args) for(int i=0;iargs.length;i+) System.out.println(“您的输入是:”+argsi); ,import java.util.Scanner; public class ScannerInput public static
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景观照明安装施工方案
- 化工园区污水处理厂提升改造项目初步设计
- 高血压急症不良事件的降压记录与法律证据
- 高脂血症管理中药物与营养干预的协同路径
- 高端影像设备采购中的伦理与临床合规性
- 高温作业医疗巡诊服务模式创新
- 幼儿园建构游戏幼儿问题解决能力培养研究-基于2023年建构过程问题解决编码
- 高尿酸血症患者的酒精限制与营养教育
- 骨质疏松骨折患者延续性护理模式构建
- 小学美术创意绘画教学设计与案例
- 2026年设备出售转让合同(1篇)
- 2026年事业单位面试结构化100例
- 河南省2026年普通高等学校对口招收中等职业学校毕业生考试机电与制造类基础课试卷
- 河南省农村中小学闲置校园校舍的调查与再生路径研究
- 分式方程第2课时课件北师大版八年级数学下册
- 招投标专项检查报告
- 高速铁路桥隧建筑物病害及状态等级评定 涵洞劣化项目及等级
- 安徽省定远县公开选调教师(第二批)和教研员笔试历年高频考点试题含答案带详解
- 小针刀治疗腱鞘炎-课件
- DB11T 364-2023 建筑排水柔性接口铸铁管管道工程技术规程
- 国际经济学克鲁格曼中文
评论
0/150
提交评论