簡體   English   中英

從變量數組java中獲取字符串的長度

[英]getting a length of a string from a variable array java

我是一個學習Java的學生,這是我程序的一部分,應該獲取字符串的長度,但是字符串都在數組中。 我嘗試在eclipse中運行它,它說我得到一個錯誤,它說length = name[x].length()有人可以讓我知道是否有解決方法

public class GuessName
{

    Random random = new Random();

    Scanner scan = new Scanner(System.in);
    String[] name = new String[10];
    int x,length;
    char guess1,guess2,guess3;

    public void names()
    {
        name[0] = "MARK";
        name[1] = "CHARLIE";
        name[2] = "MEG";
        name[3] = "KYLE";
        name[4] = "JUSTIN";
        name[5] = "KATARINA";
        name[6] = "JOEL";
        name[7] = "KEVIN";
        name[8] = "MICHAEL";
        name[9] = "JENNA";
        name[10] = "GREG";
    }

    public void start()
    {
        x = random.nextInt(10);
        length = name[x].length();
    }

您有一個數組,如下所示:

String[] name = new String[10];

[]之間的數字表示數組的大小。 在您的示例中,數組的大小為10,這意味着您的數組有10個索引為[0,9] (因為索引從0開始)。 names()方法的最后一行是:

name[10] = "GREG";

你知道我要去哪里嗎?

另外,您的main方法是什么樣的? 如果收到NullPointerException則可能意味着您是在names()之前調用start() names()

我注釋掉了有問題的部分。 另外,您正在嘗試初始化11個名稱,而不是10個。請注意,數組索引從0開始。我不知道為什么在那里有掃描儀對象,但是您可以使用此塊來完成代碼。

import java.util.Random; 
import java.util.Scanner;

  public class GuessName {



 //   Scanner scan = new Scanner(System.in);
    String[] name = new String[10];
    int x,length;
    char guess1,guess2,guess3;

    public GuessName()
    {
        name[0] = "MARK";
        name[1] = "CHARLIE";
        name[2] = "MEG";
        name[3] = "KYLE";
        name[4] = "JUSTIN";
        name[5] = "KATARINA";
        name[6] = "JOEL";
        name[7] = "KEVIN";
        name[8] = "MICHAEL";
        name[9] = "JENNA";
       // name[10] = "GREG";
    }

    public void start()
    {
        Random random = new Random();
        this.x = random.nextInt(10);
        this.length = name[this.x].length();
    }
    public static void main(String[] args) {
        GuessName gn = new GuessName();

        gn.start();

        System.out.println("The name is: "+gn.name[gn.x]+" and the length is: "+ gn.x);
    } }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM