2013-06-10 4 views
0

Я использую Eclipse. Я пытаюсь сделать программу, которая не содержит main функцию, но все равно будет печатать Hello, World:Печать привет мир без основного метода

public class Q 
    { 
    static 
    { 
     System.out.println("Hello World"); 
     System.exit(0); 
    } 
    } 

Но эта программа не дает мне ожидать result.An ошибки приходит, который говорит, что основной метод не является найдено в классе Q. Где я делаю ошибку?

+0

вы не включая основной метод. – Randy

+2

Java требует, чтобы у вас был основной метод; в этом нет двух способов. –

+0

Какая часть ошибки вы не понимаете? – SLaks

ответ

6

Вам все еще нужно перспективе Программа для статического блока инициализации для выполнения, которые вы не можете обойтись без соответствующего main метода (как в Java 7). Теперь, это не значит, что main потребности фактически содержать любой код:

class Q { 
    static { 
     System.out.println("Hello World"); 
     System.exit(0); 
    } 

    public static void main(String[] args) {} 
} 

Ваш код на самом деле работает в Java 6 и ниже - вам не нужен метод main. Это связано с тем, что блок инициализации static выполняет до того, как ищет метод main. Но в вашем случае вы выходите из программы в конце этого блока с System.exit(0), и поэтому Java никогда не ищет main и вы не получите сообщение об ошибке.

+0

Этот код работает над Notepad ++, но он не работает на eclipse .. вы также можете попробовать этот код, а затем ответить plz – user2461247

+0

@ user2461247 Он должен работать на обоих. – arshajii

+0

Я не знаю, почему он не работает на eclipse .. вы еще не попробовали его? – user2461247

1

Каждая прикладная программа Java должна содержать класс с основным методом. Таким образом, ваша ошибка будет сохраняться до тех пор, пока вы не объявите основной метод внутри одного из классов вашей программы.

0

невозможно. Ваша программа ДОЛЖНА содержать основной метод, или система не знает кусок кода для запуска.

+0

сначала запустите свое затмение и сначала запустите эту программу, а затем дайте свое мнение – user2461247

+0

Хорошо, я признаю, что у меня даже нет затмения, но программирование в среде IDE и разработка активной программы могут быть разными, и даже если вам удастся обмануть вашу программу для запуска без основного метода, безусловно, это не правильный способ сделать это, и никто не может гарантировать, что ваша программа будет работать на других машинах. – kajacx

0

Ваша ошибка в том, что вы пытаетесь запустить класс, который не имеет метода main (точно так же, как вы объяснили).

JVM ищет общедоступный статический основной метод void, который принимает массив o String как аргумент в качестве точки входа в любую программу.

0

"Java программы начинают выполняться в основной метод, который имеет следующий метод заголовок:
государственной статической силы основных (String [] арг)"
(http://en.wikipedia.org/wiki/Main_function#Java)

Вы должны измените свой класс как нечто похожее на то, что я поставил ниже.

public class Q 
{ 
    public static void main(String[] args) 
    { 
     System.out.println("Hello World"); 
     System.exit(0); 
    } 
} 
-1
import java.sql.*; 
import java.io.*; 
import javax.sql.*; 
public class Emsa 
{ 
public static void main(String args[]) 
{ 
     int ch; 
try 
{ 
Class.forName("oracle.jdbc.driver.OracleDriver"); 
Connection con =DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","hr","hr"); 
Statement stmt=con.createStatement(); 
ResultSet rs=stmt.executeQuery("select * from Empdirc"); 
while(rs.next())   
      do 
      { 
       System.out.println("\n"); 
       System.out.println("ENTER EMPLOYEE DETAILS:"); 
       System.out.println("1.Insert Record into the Table"); 
       System.out.println("2.Update The Existing Record."); 
     System.out.println("3.Display all the Records from the Table"); 
       System.out.println("4.Check PRIVILAGE LEAVE and Casual Leaves"); 
       System.out.println("5.Exit"); 
       System.out.println("Enter your choice: "); 

       BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); 
       ch=Integer.parseInt(br.readLine()); 

        switch(ch) 
       { 
       case 1: 

       System.out.println("1.INSERT EMPLOYEE ID."); 
       int num= Integer.parseInt(br.readLine()); 
       System.out.println("2.INSERT EMPLOYEE NAME"); 
       String ename=br.readLine(); 
       System.out.println("3.INSERT EMPLOYEE DESIGNATION"); 
       String desig=br.readLine(); 
       System.out.println("4.INSERT EMPLOYEE DATEOFBIRTH"); 
       String dob=br.readLine(); 
       System.out.println("5.INSERT EMPLOYEE PHONE NO OR ANY CONTACT"); 
       String mob= br.readLine(); 
       System.out.println("6.INSERT EMPLOYEE EMAIL ID"); 
       String email= br.readLine(); 
       System.out.println("7.INSERT EMPLOYEE SALARY"); 
       String sal=br.readLine(); 
       System.out.println("8.INSERT EMPLOYEE paid LEAVES"); 
       String pl=br.readLine(); 
       System.out.println("9.INSERT EMPLOYEE CASUAL LEAVES"); 
       String cl=br.readLine(); 
       System.out.println("10.INSERT EMPLOYEE FINAL SALARY"); 
       String fi= br.readLine(); 
       System.out.println("11.STATUS"); 
       String s=br.readLine(); 


        String sql="insert into EmpDirc values(?,?,?,?,?,?,?,?,?,?,?)"; 
        PreparedStatement p=con.prepareStatement(sql); 
        p.setInt(1,num); 
        p.setString(2,ename); 
        p.setString(3,desig); 
        p.setString(4,dob); 
        p.setString(5,mob); 
        p.setString(6,email); 
        p.setString(7,sal); 
        p.setString(8,pl); 
        p.setString(9,cl); 
        p.setString(10,fi); 
        p.setString(11,s); 
public static boolean abcd(String str) 
    { 
     int x; 
     for(int mob= 0 ; mob < str.length() ; mob++) 
     { 
      x = (int)str.charAt(mob); 
      if(x < 10 || x > 0) 
      return false;  
     } 
     return true; 
    } 
        p.executeUpdate(); 
        System.out.println("Record Added"); 

        //p.close(); 
        //con.close(); 
        break; 


      case 2: 
        System.out.println("UPDATE EMPLOYEE id : "); 
        int emnum=Integer.parseInt(br.readLine()); 
        System.out.println("UPDATE EMPLOYEE DESIGNATION : "); 
        String emdesig=br.readLine(); 
        System.out.println("UPDATE EMPLOYEE PHONE: "); 
        String emphn=br.readLine(); 
        System.out.println("UPDATE EMPLOYEE EMAIL: "); 
        String emmail=br.readLine(); 
        System.out.println("UPDATE EMPLOYEE SALARY: "); 
        String emsal=br.readLine(); 
        System.out.println("UPDATE EMPLOYEE PL: "); 
        String empl=br.readLine(); 
        System.out.println("UPDATE EMPLOYEE CL: "); 
        String emcl=br.readLine(); 
        System.out.println("UPDATE EMPLOYEE FINAL SALARY: "); 
        String emfi=br.readLine(); 
        sql="update EmpDirc set Desig=?, Mob=? , Email=?, Sal=? , fi=? where Eid=?"; 
        PreparedStatement ps=con.prepareStatement(sql); 

        ps.setString(1,emdesig); 
        ps.setString(2,emphn); 
        ps.setString(3,emmail); 
        ps.setString(4,emsal); 
        //ps.setString(5,empl); 
        //ps.setString(6,emcl); 
        ps.setString(5,emfi); 
       ps.setInt(6,emnum); 
        ps.executeUpdate(); 
        System.out.println("Record Updated"); 
        //p.close(); 
        //con.close(); 
        break; 

case 3 : System.out.println("Displaying the Data "); 

      //Statement stmt=con.createStatement(); 
     ResultSet res=stmt.executeQuery("select * from Empdirc"); 
while(res.next()) 
      System.out.println("Eid"+res.getInt(1)+"Ename "+res.getString(2)+"Design "+res.getString(3)+"Dob "+res.getString(4)+"Mobile no."+res.getString(5)+"Email "+res.getString(6)+"Salary "+res.getString(7)); 
        break; 
case 4 : System.out.println("CALCULATING"); 
      sql="update EmpDirc set Pl=?, Cl=? where Estatus=?"; 

        PreparedStatement pes=con.prepareStatement(sql); 
       pes.setInt(1,15); 
       pes.setInt(2,07); 
       pes.setString(3,"permanent"); 
      pes.executeUpdate(); 
System.out.println("Record Updated"); 



        case 5: 
        System.exit(0); 
break; 

        default: 
        System.out.println("Invalid Choice"); 
        break; 
} 
}while(ch!=2); 


con.close(); 
} 
catch(Exception e) 
{ 
System.out.println(e); 
} 
} 
} 
Смежные вопросы