Java 字符串数组不会填充值

Java 字符串数组不会填充值,java,arrays,Java,Arrays,这段代码应该在调用playGame方法时用1和0填充数组gameResult,但数组不会填充我尝试分配给它的值,不确定为什么会发生这种情况,我尝试使用整数数组,结果是相同的数组仍然没有填充值 import java.util.Scanner; class Main { //Assignment1.java public static void main(String[] args) { int number; Scanner keyboard = new Scanne

这段代码应该在调用playGame方法时用1和0填充数组gameResult,但数组不会填充我尝试分配给它的值,不确定为什么会发生这种情况,我尝试使用整数数组,结果是相同的数组仍然没有填充值

import java.util.Scanner;



class Main { //Assignment1.java 
  public static void main(String[] args) {
    int number;
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Enter a number from 1-100: ");
    number = keyboard.nextInt();

    playGame(number);


    keyboard.close();

 }
    public static String[] playGame( int chosenNumber ){
      String[] gameResult = new String[9];
      int upper = 100;
      int lower = 1;
      int middle;

      for(int i=0;i<=7;i++){
        middle = (lower+upper)/2;
          if (chosenNumber < middle) {
            gameResult[i]="0";
            upper = middle;
       }
      else{
          gameResult[i]="1";
          lower = middle;
      }    
  }
  System.out.format("Chosen integer %3d: ", chosenNumber);
  System.out.println();
  return gameResult;
}
import java.util.Scanner;
类Main{//Assignment1.java
公共静态void main(字符串[]args){
整数;
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入1-100之间的数字:”);
number=键盘.nextInt();
游戏(数字);
键盘关闭();
}
公共静态字符串[]游戏(int chosenNumber){
String[]gameResult=新字符串[9];
整数上限=100;
int-lower=1;
中间;

对于(int i=0;i您没有在任何地方显示或使用数组(您正在为某些索引赋值),我修改了main方法,只是为了打印返回的数组以显示值

class Main { //Assignment1.java
public static void main(String[] args) {
    int number;
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Enter a number from 1-100: ");
    number = keyboard.nextInt();


    String[] arr = playGame(number);
    for (int i = 0; i < arr.length; i++)
        System.out.println(arr[i]);

    keyboard.close();

}

public static String[] playGame(int chosenNumber) {
    String[] gameResult = new String[9];
    int upper = 100;
    int lower = 1;
    int middle;

    for (int i = 0; i <= 7; i++) {
        middle = (lower + upper) / 2;
        if (chosenNumber < middle) {
            gameResult[i] = "0";
            upper = middle;
        } else {
            gameResult[i] = "1";
            lower = middle;
        }
    }
    System.out.format("Chosen integer %3d: ", chosenNumber);
    System.out.println();
    return gameResult;
}
class Main{//Assignment1.java
公共静态void main(字符串[]args){
整数;
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入1-100之间的数字:”);
number=键盘.nextInt();
字符串[]arr=游戏(编号);
对于(int i=0;i对于(int i=0;i)你没有显示数组或将其存储在任何地方。当你在调试器中逐步执行代码时,你看到了什么?我没有使用调试器,但你会推荐什么ide for java?@Rusty:你可以使用eclipse、intellij来命名一些流行的数组。谢谢!它也起作用了,我不知道我在做什么,但现在我明白了什么出了问题,谢谢大家的帮助