Java 访问字符串数组中的特定位置
我想在数组中输入3个名称。然后我想访问第二个名称中第二个字符的位置 首先,我在第13行得到一个越界异常。另外,我知道的第二个for循环完全关闭,请原谅 为什么会出现异常,如何访问特定字符串中的特定字符位置Java 访问字符串数组中的特定位置,java,arrays,Java,Arrays,我想在数组中输入3个名称。然后我想访问第二个名称中第二个字符的位置 首先,我在第13行得到一个越界异常。另外,我知道的第二个for循环完全关闭,请原谅 为什么会出现异常,如何访问特定字符串中的特定字符位置 class Names { public static void main(String[]args) { int index; String names[]; names = new String [3]; f
class Names
{
public static void main(String[]args)
{
int index;
String names[];
names = new String [3];
for(index = 1; index <= names.length; index++)
{
System.out.println("Enter name " + index);
names[index] = EasyIn.getString();
}
for(index = 0; index < names.length; index++)
{
System.out.println(names[1][2]);
}
}
}
类名
{
公共静态void main(字符串[]args)
{
整数指数;
字符串名[];
名称=新字符串[3];
对于(index=1;index如果要访问字符串中的某个字符,请使用mystring.charAt(index)
如果要访问字符串中的某个字符,请使用mystring.charAt(index)
您可以创建静态数组,然后从中读取值
String[] array = {"Peter", "John", "Andre"}; //now you have three items in array
char secondChar = array[1].charAt(1); //first get second element, than get second char from it
所以现在secondChar
是o
-还要记住数组是从0
开始的,这就是为什么索引1
意味着数组中的第二项-这同样适用于charAt
,字符串基本上就是字符数组。您可以创建静态数组,然后从中读取值
String[] array = {"Peter", "John", "Andre"}; //now you have three items in array
char secondChar = array[1].charAt(1); //first get second element, than get second char from it
所以现在secondChar
是o
-还要记住数组从0
开始,这就是为什么索引1
意味着数组中的第二项-这同样适用于charAt
,字符串基本上就是字符数组。您的代码应该是这样的:
int index;
String names[];
names = new String [3];
for(index = 0; index < names.length; index++)
{
System.out.println("Enter name " + index);
names[index] = EasyIn.getString();
}
for(index = 0; index < names.length; index++)
{
if (names[index] != null && names[index].length() > 2)
System.out.println(names[index].charAt(2));
}
for(index = 1; index <= names.length; index++)
for(index = 0; index < names.length; index++)
System.out.println(names[<an index>].charAt(2));
int索引;
字符串名[];
名称=新字符串[3];
对于(索引=0;索引2)
System.out.println(名称[索引].charAt(2));
}
您的代码应该如下所示:
int index;
String names[];
names = new String [3];
for(index = 0; index < names.length; index++)
{
System.out.println("Enter name " + index);
names[index] = EasyIn.getString();
}
for(index = 0; index < names.length; index++)
{
if (names[index] != null && names[index].length() > 2)
System.out.println(names[index].charAt(2));
}
for(index = 1; index <= names.length; index++)
for(index = 0; index < names.length; index++)
System.out.println(names[<an index>].charAt(2));
int索引;
字符串名[];
名称=新字符串[3];
对于(索引=0;索引2)
System.out.println(名称[索引].charAt(2));
}
有几件事
您可以将String
对象的array
一次性设置为String[]names=newstring[3]
在第一个循环中,开始时如下所示:
int index;
String names[];
names = new String [3];
for(index = 0; index < names.length; index++)
{
System.out.println("Enter name " + index);
names[index] = EasyIn.getString();
}
for(index = 0; index < names.length; index++)
{
if (names[index] != null && names[index].length() > 2)
System.out.println(names[index].charAt(2));
}
for(index = 1; index <= names.length; index++)
for(index = 0; index < names.length; index++)
System.out.println(names[<an index>].charAt(2));
正如其他人之前所说,如果您想从字符串中获取某个字符,请使用“myString.charAt()”,因此在您的情况下,您应该编写如下内容:
int index;
String names[];
names = new String [3];
for(index = 0; index < names.length; index++)
{
System.out.println("Enter name " + index);
names[index] = EasyIn.getString();
}
for(index = 0; index < names.length; index++)
{
if (names[index] != null && names[index].length() > 2)
System.out.println(names[index].charAt(2));
}
for(index = 1; index <= names.length; index++)
for(index = 0; index < names.length; index++)
System.out.println(names[<an index>].charAt(2));
System.out.println(name[].charAt(2));
有几件事
您可以将String
对象的array
一次性设置为String[]names=newstring[3]
在第一个循环中,开始时如下所示:
int index;
String names[];
names = new String [3];
for(index = 0; index < names.length; index++)
{
System.out.println("Enter name " + index);
names[index] = EasyIn.getString();
}
for(index = 0; index < names.length; index++)
{
if (names[index] != null && names[index].length() > 2)
System.out.println(names[index].charAt(2));
}
for(index = 1; index <= names.length; index++)
for(index = 0; index < names.length; index++)
System.out.println(names[<an index>].charAt(2));
正如其他人之前所说,如果您想从字符串中获取某个字符,请使用“myString.charAt()”,因此在您的情况下,您应该编写如下内容:
int index;
String names[];
names = new String [3];
for(index = 0; index < names.length; index++)
{
System.out.println("Enter name " + index);
names[index] = EasyIn.getString();
}
for(index = 0; index < names.length; index++)
{
if (names[index] != null && names[index].length() > 2)
System.out.println(names[index].charAt(2));
}
for(index = 1; index <= names.length; index++)
for(index = 0; index < names.length; index++)
System.out.println(names[<an index>].charAt(2));
System.out.println(name[].charAt(2));
试试这个:
在第一个循环中:
试试这个:
在第一个循环中:
看看这个线程看看这个线程好的,还有一件事。这只允许我输入2个名称。一旦我输入2个名称,它会立即跳到第二个for循环,而不允许我输入第三个名称。我不知道你的“EasyIn.getStrig()”是什么意思函数正在执行,但它肯定被调用了三次。您应该看到输出。好的,还有一件事。这只允许我输入两个名称。输入两个名称后,它会立即跳到第二个for循环,而不允许我输入第三个名称。我不知道您的“EasyIn.getStrig()”是什么意思函数正在执行,但它肯定被调用了三次。您应该看到输出。