是否有任何Java编程语言扩展可以创建嵌套函数?在许多情况下,我需要创建仅在另一个方法或for循环的上下文中使用一次的方法.到目前为止,我无法用Java实现这一点,即使它可以在Javascript中轻松完成.
例如,这不能在标准Java中完成:
for(int i = 1; i < 100; i++){
times(2); //multiply i by 2 and print i
times(i); //square i and then print the result
public void times(int num){
i *= num;
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud) 我正在网上关注CS106A讲座.我正在阅读第12讲的代码,但是它给了我Eclipse中的错误.
这是我的代码.似乎错误是因为我的main方法中的单词void .我尝试删除main方法,但当然Java没有它就无法运行.
我是一个新手,没有人解释这String[] args件事的真正含义,但我被告知要忽略它并使用它.如果有人能向我解释,我会很感激.
这个错误也出现在'toLower'方法上; 不知道它意味着什么:参数toLower的非法修饰符; 只有决赛是允许的
(如果它有帮助;代码的要点是将大写字母转换为小写字母)
public class CS106A {
public static void main(String[] args){
public char toLower(char ch);
if (ch >= 'A' && ch <= 'Z'){
return ((ch - 'A') + 'a');
}
return ch;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
在我的代码中,我称之为方法
public static boolean divides(int num, int denom)
{
if (num%denom==0)
return true;
else return false;
}
Run Code Online (Sandbox Code Playgroud)
后来我打电话给这个方法
public static boolean isLeapYear(int year)
我想在isLeapYear中调用divides.我是否必须重新定义分歧?现在我有
public static boolean isLeapYear(int year)
{
public static boolean divides(int num, int denom)
{
if (divides.class == true && (year%400 ==0) || ((year%4==0)
&& (year%100 !=0)));
return true;
else return false;
}
Run Code Online (Sandbox Code Playgroud)
}
并且我得到了已经定义了divides的错误,但是当我没有将整个public static etc.语句放在那里时,它会想知道什么是divides.
我也遇到了许多其他错误(比如我在嵌套之后无法找到年份的类型),但这不是主要错误.