Java - 在两个字符串之间切换

时间:2017-03-12 15:14:15

标签: java string

我有两个有价值的字符串"好"和"坏"

我将其中一个(例如" good")发送给方法作为参数,当在同一个类中再次调用相同的方法时,我想要使用带有值的第二个变量(&# 34;坏")作为参数传递。

我找不到更好的解决方案。

我有另外一种方法是写一个小函数来随机选择这个变量。

    public static Set<String> selectRandomString() {
    Random r = new Random();
    int firstR = r.nextInt((2 - 0) + 1) + 0;

    List<String> animals = Arrays.asList( new String[] { "good", "bad"});

    Set<String> returnAnimals = new HashSet<String>();

    if (firstR > 0) {

            int animalCount = r.nextInt((firstR - 0) + 1) + 0;
            String temp = animals.get(animalCount);
            returnAnimals.add(temp);
        }

    return returnAnimals;
}

3 个答案:

答案 0 :(得分:1)

public class ToggleStrings {

   static Random r = new Random();

   public static String toggleString() {
      return r.nextBoolean() ? "good" : "bad";
   }

   public static void main( String[] args ) {
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
      System.out.println( toggleString());
   }
}

执行追踪:

bad
bad
good
bad
bad
bad
bad
good
bad
good

答案 1 :(得分:1)

您可以使用变量“记住”上一个答案。 此代码将始终在“好”和“坏”之间切换。

class Utils {
    static boolean toggle;
    public static String getString() {
        toggle = !toggle;
        if (toggle)
            return "good";
        else
            return "bad";
    }
}

答案 2 :(得分:1)

我还有另外一个棘手的方法:

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

public class RandomList {
    public static void main(String[] args) {
        List<String> list = new ArrayList<String>(){{
            this.add("good");
            this.add("bad");
        }};
        Collections.shuffle(list);
        System.out.println(list.get(0));
        Collections.shuffle(list);
        System.out.println(list.get(0));
        Collections.shuffle(list);
        System.out.println(list.get(0));
    }
}

输出:

bad
good
good