09上--FizzBuzz和基本IO语句.ppt_第1页
09上--FizzBuzz和基本IO语句.ppt_第2页
09上--FizzBuzz和基本IO语句.ppt_第3页
09上--FizzBuzz和基本IO语句.ppt_第4页
09上--FizzBuzz和基本IO语句.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论