请看下面的代码,请帮我解决问题。
class TestTrick{
public static void main(String args[])
{
}
static marker()
{
System.out.println("programe executed");
}
}
此程序所需的结果是程序应该打印
program executed
,意味着应该执行marker
方法。但是有一些规则:
已经有三天了,我无法解决问题,因为我不是Java程序员。我已经在互联网上搜索了所有内容以获得线索,但我失败了。请 有人帮我严格遵守规则来运行这个程序。
答案 0 :(得分:18)
答案 1 :(得分:4)
问题是您不需要标记的方法 - 您只需要一个静态初始化块:
class Trick {
// not a method, just something to execute when the class is loaded
static { System.out.println("executed"); }
public static void main(String[] args) {
}
}
如果您已经提供了代码(由于static marker()
不是有效代码,我不确定您已经提供了代码),那么您只需从marker()
拨打static
即可块。
答案 2 :(得分:2)
你可以使用静态初始化程序,它将在Main方法运行之前执行。
static {
marker();
}
答案 3 :(得分:2)
static
块将为您提供帮助。但是您的程序中存在语法错误。由于marker
是一种方法,因此它必须具有返回类型。我假设void
。
class testTrick {
public static void main(String args[]) {
}
static void marker() {
System.out.println("programe executed");
}
static {
marker();
}
}
答案 4 :(得分:1)
这很容易。在类中添加一个静态构造函数来调用marker方法,然后在构造函数中放入system.exit
答案 5 :(得分:1)
一个更棘手的程序是
class testTrick {
static { marker(); System.exit(0); } static void marker() {
System.out.println("program executed");
}
}
注意:标记必须提供返回类型,例如void
或者它不会编译。如果愿意,可以保留main()方法,但永远不会调用它。
静态初始化程序在main方法之前调用,因此它可以调用另一个方法,它可以在看到没有找到main()方法的消息之前退出。
答案 6 :(得分:0)
class testTrick
{
public static void main(String args[])
{
}
static
{
marker();
}
static void marker()
{
System.out.println("programe executed");
}
}
答案 7 :(得分:0)
这是否遵循您的规则?,创建静态块将始终执行,因为它与类文件一起存储,并且它需要一个主方法来调用
class TestTrick{
public static void main(String args[])
{
}
static marker()
{
System.out.println("programe executed");
}
}
答案 8 :(得分:0)
public class M
{
public static void main(String[] args)
{
}
static
{
marker();
}
public static void marker()
{
System.out.println("Done");
}
}
答案 9 :(得分:0)
class TestTrick{
public static void main(String args[])
{
}
static{
marker();}
static void marker(){
System.out.println("programe executed");
}
查看要求。只要不改变方法,你就可以做任何你想做的事。
因此需要一个静态块(它总是在程序中执行)。它不是一种方法,你可以从那里调用marker()
(需要为btw分配一个返回类型)
答案 10 :(得分:-1)
int i = 10 + + 11 - - 12 + + 13 - - 14 + + 15;
System.out.println(i);
答案 11 :(得分:-2)
您需要在main方法中调用marker方法,即;像这样的东西:
class testTrick {
public static void main(String args[]) {
marker();
}
static void marker() {
System.out.println("programe executed");
}
}