查找数组中的字母

1 java arrays algorithm linear-search

我正在尝试编写一个程序,让我输入 10 个字符并将它们存储在一个数组中。只需单个字符就足够了,例如 (d, s, a, e, h, j, e,)。然后让我使用线性搜索算法查找其中一个字符并给出数组中的位置。

我尝试对其进行编程,但只能使用整数进行编程。到目前为止,这是我的代码。

我不知道如何将其更改为字母/字符?

public static void main(String args[])

int c, n, search, array[];

Scanner in = new Scanner(System.in);
System.out.println("Enter number of elements");
n = in.nextInt(); 
array = new int[n];

System.out.println("Enter " + n + " Letters");

for (c = 0; c < n; c++)
  array[c] = in.nextInt();

System.out.println("What letter do you want to find?");
search = in.nextInt();

for (c = 0; c < n; c++)
{
  if (array[c] == search)     /* Searching element is present */
  {
     System.out.println(search + " is present at location " + (c + 1) + ".");
      break;
  }
if (c == n)  /* Searching element is absent */
  System.out.println(search + " Letter is not found.");
Run Code Online (Sandbox Code Playgroud)

Hus*_*sam 5

我尝试对其进行编程,但只能使用整数

in.next().charAt(0)不,如果您使用而不是in.nextInt()from ScannerClass 来采用第一种Character形式,则可以做到这一点String

我不知道如何将其更改为字母/字符?

在这里,您不需要更改它或某些regexsplit它,该方法in.next()从输入(最终使用)中获取字符串,然后获取charAt(0)第一个。

现在,我对您的代码进行了更改,以便按照您上面提到的方式工作:

  1. search和更改array[]char数据类型。
  2. 将声明更改array[]array = new char[n]
  3. search将和 的输入更改arrayin.next().charAt(0)

尝试这个:

 public static void main(String args[]) {

    int n,c;
    char search,array[];

    Scanner in = new Scanner(System.in);
    System.out.println("Enter number of elements");
     n = in.nextInt();
    array = new char[n];

    System.out.println("Enter " + n + " Letters");

    for ( c = 0; c < n; c++) {
        array[c] = in.next().charAt(0);
    }

    System.out.println("What letter do you want to find?");
    search = in.next().charAt(0);

    for ( c = 0; c < n; c++) {
        if (array[c] == search) /* Searching element is present */ {
            System.out.println(search + " is present at location " + (c + 1) + ".");
            break;
        }
        if (c == n) /* Searching element is absent */ {
            System.out.println(search + " Letter is not found.");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)