解决方案4—使用递归使用递归解决方案
publicclassFizzBuzz{publicstaticStringfizzbuzz(inti){if(i==0)return“”;if(i%15==0)returnfizzbuzz(i-1)+”FizzBuzzz\n”;if(i%3==0)returnfizzbuzz(i-1)+”Fizz\n”;if(i%5==0)returnfizzbuzz(i-1)+”Buzz\n”;returnfizzbuzz(i-1)+i+”\n”;}publicstaticvoidmain(String[]args){System.out.println(fizzbuzz(100));}}
解决方案5解决方案—OO
publicclassFizzBuzz{publicvoidprintfizzbuzz(){for(inti=1;i<=100;i++)if(i%15==0)System.out.println("FizzBuzz");elseif(i%3==0)System.out.println("Fizz");elseif(i%5==0)System.out.println("Buzz");elseSystem.out.println(i);}}
publicclassTestFizz{publicstaticvoidmain(String[]args){FizzBuzzfizz=newFizzBuzz();fizz.printfizzbuzz();}}
问题深入:问题深入:
如果此应用中,要求提供人机交互,从用户的输如果此应用中,要求提供人机交互,入中直接判断输入数是否能被3,输入数是否能被或者被3和入中直接判断输入数是否能被,被5或者被和5或者被整除呢?该如何解决?整除呢?该如何解决?
4新FizzBuzz问题问题
接受用户从键盘的输入接受用户从键盘的输入,用户从键盘的输入
如果是3的倍数则用替换输出如果是的倍数则用Fizz替换输出的倍数则用替换输出;如果是5的倍数则用如果是的倍数则用Buzz替换输出;替换输出的倍数则用替换输出替换输出既是3又是的倍数则用FizzBuzz替换输出又是5的倍数则用替换输出.既是又是的倍数则用其余则输出”你输入的数是XXX,不能被也不能被整不能被3也不能被其余则输出”你输入的数是不能被也不能被5整除”
补充:补充:java基本的输入输出语句基本的输入输出语句控制台输出控制台输出(Console)::
(1)
Java风格(2)C风格(JDK5)风格()风格
控制台输出Java风格风格
----直接输出字符串,非字符串类型会自动转化为字直接输出字符串,直接输出字符串符串。符串。System.out.println(y);
System.out.print(y);
控制台输出C风格风格(JDK5以后以后)风格以后
----使用指定格式字符串和参数将格式化的字
符串写入此输出流的便捷方法System.out.printf(“%,d”,1200000);System.out.printf(“%x”,42);
控制台键盘输入:控制台键盘输入:
(1)(2)(3)使用BufferedReader类(java.io包)类使用包使用main方法传参使用方法传参使用Scanner文本扫描器文本扫描器(java.util包)使用文本扫描器包
BufferedReader类类
---从键盘输入流读入字符串,再转化为相应的类型。从键盘输入流读入字符串,再转化为相应的类型。
importjava.io.*;publicclassBufferIn{
publicstaticvoidmain(String[]args)throwsIOException{
InputStreamReaderins=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(ins);Stringstr=br.readLine();
}}
(2)使用使用args字符串数组参数传参输入字符串数组参数传参输入
publicclassArgsInput{publicstaticvoidmain(String[]args){for(inti=0;i
xml:namespace prefix = args.length;i++)System.out.println(“您的输入是您的输入是 />