【问题标题】:Calling solution class in main [duplicate]在main中调用解决方案类[重复]
【发布时间】:2019-05-16 19:21:01
【问题描述】:

我正在尝试模仿 Eclipse 中 FizzBu​​zz 问题的解决方案。已经给出了解决方案类,但我不完全确定如何在 main 中运行它来打印结果。在解决方案中,列表最多为 15 并打印出结果。如果我这样运行它,是在 main 中为 s 创建的列表吗?如果是这样,我如何将其打印为列表而不是获取“Solution@7852e922”对象输出?

 public class FizzBuzzMain {

     public static void main(String[] args) {
     Solution s = new Solution();
     System.out.println(s);

     }
 }


  import java.util.ArrayList;
  import java.util.List;

 public class Solution {
     public List<String> fizzBuzz(int n) {
         List<String> list = new ArrayList<>();
         for(int i = 1;i<=n;i++){
             if(i%3==0&&i%5==0){
                 list.add("FizzBuzz");
             }
             else if (i%3==0) list.add("Fizz");
             else if(i%5==0) list.add("Buzz");
             else{
                 list.add(Integer.toString(i));
             }
         }
         return list;
     }
 }

【问题讨论】:

  • 您需要实际调用您的方法并打印它返回的列表,而不是类本身。
  • @azurefrog 我将如何在 main 中调用它?我想我必须创建一个类的对象实例来运行它。抱歉,我知道给出的解决方案类是正确的,我只是想弄清楚如何在 main.js 中运行它。那部分没有给出,我一直在尝试我能想到的一切。
  • 您需要使用List&lt;String&gt; list = s.fizzBuzz(intValue);,然后使用循环打印出列表的每个值。

标签: java class fizzbuzz


【解决方案1】:

在您的main 方法中,您只需调用新创建的Solution 对象的fizzBuzz() 方法并循环遍历结果:

 public static void main(String[] args) {
     Solution s = new Solution();
     List<String> result = s.fizzBuzz(100);
     for (int n : result) {
         System.out.println(n);
     }
 }

【讨论】:

  • 谢谢@ruohola!
【解决方案2】:

你不能运行一个类,你只能运行一个方法。我假设您想运行 Solution 类的 fizzBuzz(int n) 方法。你可以通过调用它来做到这一点,例如

 List<String> fizz = s.fizzBuzz(15);

【讨论】:

  • 谢谢@aloso,我知道这可能看起来很容易,但我不知道我做错了什么。我还不太了解类和方法。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-04
  • 2010-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多