打印字符串数组的备用元素

时间:2014-01-22 12:40:59

标签: java arrays string

我无法执行打印字符串数组的替代元素的代码。

我已经声明了一个字符串“welcome”,我想阅读“W,l,o等”等替代元素。

//Print alternate elements of a string array.

public class AlternateStringArray {

   public static void main(String[] args) {

       String str[]= new string[] {"Welcome"};

       for (int i=0; i<7; i+2){

       System.out.println(str[i]);

    }
  }
}

收到以下错误:

Type mismatch: cannot convert from string[] to String[]

Type mismatch: cannot convert from String to string

Syntax error on token "+", invalid AssignmentOperator

请帮忙。

8 个答案:

答案 0 :(得分:2)

尝试:

String str = "Welcome";
char[] strChars = str.toCharArray();
for(int i = 0; i < strChars.length; i += 2) {  // go through all the characters
    System.out.println(strChars[i]);
}

答案 1 :(得分:1)

替换

String str[]= new string[] {"Welcome"};

to: 
String str[]= new String[] {"Welcome"};

对于以下错误:

Syntax error on token "+", invalid AssignmentOperator

for (int i=0; i<7; i++){

if(i%2 == 0) 
{
   System.out.println(str[i]);
}

}

答案 2 :(得分:1)

每个人都说:

变化:

String str[]= new string[] {"Welcome"};

到:

String str[]= new String[] {"Welcome"};

但为什么

所以这是我的回答:

java是严格绑定的面向对象编程语言。 这里的一切都是阶级,对象或方法。

在Java中,当你这样做时:

String xyz = new String("abc");

您强制创建String class的新String对象,这会在创建时占用一些时间和内存。

但另一方面,string被视为literal;它不能有它的对象。因而错误。

表示第二个错误

我们知道for语句的语法是

for(initialization; condition; increment/decrement )

因此您注意到i+2中第三个条件不可满足, 所以将其更改为i=i+2或简称i+=2

因此你得到了那个错误。

您正在创建String对象数组 。其中 str[0]元素是您的字符串"Welcome" 。 要从特定位置的字符串访问字符,我们对字符串对象使用charAt(int position)方法。

所以这里要访问来自0 str数组str[0].charAt(position)字符串的字符,我们将使用:

<强> public class AlternateStringArray { public static void main(String[] args) { String str[]= new String[] {"Welcome"}; //note change for (int i=0; i<7; i=i+2){ //note change System.out.println(str[0].charAt(i)); //note change } } }

因此,您的最终工作代码将是:

i<7

而不是使用固定长度.length() ,我建议使用 i<str[0].length() <动态获取字符串的长度 / strong>方法。为:

<强> public class AlternateStringArray { public static void main(String[] args) { String str[]= new String[] {"Welcome"}; //note change for (int i=0; i<str[0].length(); i+=2){ //note change 2 System.out.println(str[0].charAt(i)); //note change } } }

所以代码现在是:

{{1}}

在编写之前始终了解您的代码 : - )..

希望它能帮助你......欢呼!!

答案 3 :(得分:0)

String str[]= new string[] {"Welcome"};

应该是

String str[]= new String[] {"Welcome"};

答案 4 :(得分:0)

您有错误。

 String str[]= new string[] --> String str[]= new String[]

答案 5 :(得分:0)

这是你期望做的事。

String str[] = new String[] { "Welcome" };
for (int i = 0; i < 7; i += 2) {
        char c = str[0].charAt(i);
        System.out.println(c);
}

但是你使用的任何方法都没有任何效果,原因很多。正如Vakh所说,你可以使用这种方法,干净且易于理解。

或类似的东西。

String str = new String("Welcome");
    for (int i = 0; i < str.length(); i += 2) {
        System.out.println(i + "::" + str.charAt(i));
    }

答案 6 :(得分:0)

更改行

String str[]=new string[]{"Welcome"};

到 -

String str[]=new String[]{"Welcome"};

答案 7 :(得分:0)

公共类PrintAlternativeCharacters {

public static void main(String[] args)
{

    String str = "ROCKSTAR";
    String newStr="";

    //EXPECTED OUT PUT :: OR-KC-TS-RA

    char[] a = str.toCharArray();

    System.out.println("*****************"+a.length);

    for(int i = 0 ; i < a.length ; i=i+2)
    {
        newStr=newStr+str.charAt(i+1)+str.charAt(i);
    }


    System.out.println(newStr);
}

}