我无法执行打印字符串数组的替代元素的代码。
我已经声明了一个字符串“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
请帮忙。
答案 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);
}
}