我是Java的初学者,我一直在研究数组,但是我不明白发生了什么问题。
这是课程:
public class StringArrayUtil {
public static void print(String [] sArray){
for(int i = 0; i<sArray.length; i++){
if(sArray[i] !=null){
System.out.println("Indice: "+i+ " String: "+sArray[i] + "\t");
}
}
}
public static int indexOf(String [] sArray, String sSearch, int s){
for(int i = s; i < sArray.length; i++){
if(sArray[i] != null && sSearch != null && sSearch.equals(sArray[i])){
return i;
}
}
return -1;
}
public static int indexOf(String [] sArray, String sSearch){
return indexOf(sArray, sSearch, 0);
}
public static int indexOfEmpty(String[] sArray){
return indexOf (sArray,null,0);
}
public static int put(String[] sArray, String newS){
for(int i = 0; i<sArray.length; i++){
if(sArray[i] == null){
sArray[i]=newS;
return i;
}
}
return -1;
}
public static int remove(String sArray, String removeS){
int times = 0;
for(int i = 0; i < sArray.length; i++){
if(removeS.equals(sArray[i]) ){
sArray[i] = null;
times ++;
}
return times;
}
}
public static String fillArray (String messege, int n){
String[] result = new String[n];
for(int i = 0; i<result.length; i++){
result[i] = Scanner.getString (messege);
}
return result;
}
}
这是我的主要内容:
class StringArrayUtilTester {
public static void main(String [] args){
System.out.println("----------Welcome to StringMaster 2.0----------");
int z=5;
String a= "-Create a String: ";
String [] array = StringArrayUtil.fillArray(a,z);
String search = Scanner.getString("-String SearchBox! find and delete String: ");
int i = StringArrayUtil.indexOf(array, search);
if (i != -1){
System.out.println("-The String belongs to the Array!");
array[i] = null;
System.out.println("...loading....");
System.out.println("-The string has been deleted.");
}
else{
System.out.println("-String not found, try another one!");
}
String replace = Scanner.getString("-Replace with new string: ");
int e = StringArrayUtil.indexOfEmpty(array);
if(e != -1){
array[e] = replace;
}
System.out.println("-Final Array of Strings: ");
StringArrayUtil.print(array);
}
}
我无法理解javac时遇到的错误。我没有正确地执行fillArray吗?:
StringArrayUtilTester.java:7: error: incompatible types: String cannot be converted to String[]
array = StringArrayUtil.fillArray(a,z);
您fillArray
方法的返回类型String
不是String[]
您需要String[]
通过更改返回类型来使方法返回a :public String[] fillArray(...)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句