【发布时间】:2014-07-24 16:27:53
【问题描述】:
不想找人帮我做这件事,请给我建议,告诉我哪里出错了*
我正在完成一项家庭作业,但遇到了一些障碍。这是作业的基础知识
“编写一个由三个类组成的程序。第一个类将是实际的程序。
第二个类将简单地将字符串转换为小写。
第三个类将有三个方法:
public static String trimmed(String str)
和
public static String trimmed(String str, int len)
和
公共静态字符串挤压(String str)"
我已经为第二类和第三类编写了代码,它们编译得很干净。对于我的程序,我在编译时不断出错,我无法弄清楚。我研究过,一遍又一遍地阅读我的课本,但我仍然是一片空白。
这是我的代码
package bmclasses;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BmClasses {
public static void main(String[] args) {
String text1,text2,text3,text4,text5;
// Reading from the file
try {
BufferedReader in = new BufferedReader(new
FileReader("bmIN.txt"));
while (in.ready()) {
String text = in.readLine();
text1 = sUtilities.trimmed(text);
text2 = sUtilities.squeeze(text);
System.out.println("As entered: " + text + "Trimmed and Squeezed: text2");
text3 = sUtilities.trimmed(text2, 10);
System.out.println("As entered: " + text + "trimmed, squeezed, and shortened to 10 characters :"+text3);
text4 = s2Lower.Cap2Low(text2);
text5 = sUtilities.trimmed(text4, 25);
}
in.close();
}
catch (IOException e)
{System.out.println("Input/Output error !"); }
}
}
这是我得到的错误:
bmclasses/BmClasses.java:29: error: cannot find symbol
text1 = sUtilities.trimmed(text);
^
symbol: variable sUtilities
location: class BmClasses
bmclasses/BmClasses.java:30: error: cannot find symbol
text2 = sUtilities.squeeze(text);
^
symbol: variable sUtilities
location: class BmClasses
bmclasses/BmClasses.java:32: error: cannot find symbol
text3 = sUtilities.trimmed(text2, 10);
^
symbol: variable sUtilities
location: class BmClasses
bmclasses/BmClasses.java:34: error: cannot find symbol
text4 = s2Lower.Cap2Low(text2);
^
symbol: variable s2Lower
location: class BmClasses
bmclasses/BmClasses.java:35: error: cannot find symbol
text5 = sUtilities.trimmed(text4, 25);
^
symbol: variable sUtilities
location: class BmClasses
5 errors
我做错了什么?
编辑
这是我的类实用程序的代码
package bmclasses;
public class sUtilities {
public static String trimmed(String str) {
// calculate the discount amount and total
String oString = "";
if (str == null)
return oString;
else
return str.trim();
}
public static CharSequence trimmed(String str, int len) {
// calculate the discount amount and total
String oString = "";
oString = trimmed(str);
return oString.subSequence(1, len);
}
public static String squeeze(String str) {
// calculate the discount amount and total
return str.replaceAll(" ", " ");
}
}
【问题讨论】:
-
你从未声明过 sUtilities
-
根据他的描述,这些是静态方法,所以我假设 sUtilities 是一个类名。
-
什么是实用工具。如果它是一个类,则使其成为一个字段对象。如果您尝试调用静态方法,请确保它在同一个包中或导入它。
-
哦。在这种情况下,请尝试关注naming conventions for Java,因为
sUtilities中的小写s 表示它不是一个类 -
@emeraldjava 并不是编译器不允许它,而是因为没有明确显示
sUtilities的代码,人们会假设它是一个变量/字段而不是一个类,因为命名约定