मैं जावा में नया हूं और मैंने समाधान के लिए वेब के चारों ओर देखा है लेकिन कोई भी काम नहीं कर रहा है। क्रिप्या मेरि सहायता करे।आयात कस्टम जावा क्लास
मेरे पास दो फाइलें हैं। उनमें से एक जावा फ़ाइल है जिसमें मुख्य कार्य होता है। इस रिपोर्ट में:
...
VaporVisitor visitor = new VaporVisitor();
...
कि आदेश के साथ
, मैं एक नया वस्तु VaporVisitor
, जो VaporVisitor.java
नामक एक अलग फाइल में एक वर्ग है बनाना चाहते हैं। हालांकि जावा पहचान नहीं करता है कि वाष्पविजिटर क्या है, संभवतः क्योंकि यह नहीं जानता कि VaporVisitor.java
मौजूद है (यह एक ही निर्देशिका में है)। मैंने उन्हें एक ही पैकेज का हिस्सा बनाने, विभिन्न पैकेजों में आयात करने और आयात करने की कोशिश की ... और वे सभी विफल हो गए। क्या कोई मुझे कोई मार्गदर्शन दे सकता है?
धन्यवाद!
संपादित करें: मैं वही कर रहा हूं जो मैं कर रहा हूं, और त्रुटि संदेश मुझे मिलता है: तो मेरे पास 3 फाइलें हैं। वी 2VM (मेरे मुख्य समारोह के साथ), वाष्पविजिटर, और एक प्रदान की गई जार फ़ाइल जिसमें कई कस्टम वर्ग हैं। जार फ़ाइल मुझे कोई समस्या नहीं दे रही है; यह वापर विजिटर को पहचानने के लिए जावा प्राप्त करने की कोशिश कर रहा है।
तो वी 2VM (मुख्य समारोह) में, मैंने डालने की कोशिश की है: import V2VM.java;
जो काम नहीं करता है। मैंने vvVM को वीवी नामक उपफोल्डर में डालने का प्रयास किया है, package vv;
को वाष्पविजिटर में जोड़ा और V2VM.java import vv.*
में रखा लेकिन यह भी काम नहीं करता था।
संकलन के लिए, मैं करने की कोशिश की javac -classpath [the jar file].jar V2VM.java
त्रुटियों यह मुझे देता है:
V2VM.java:15: cannot find symbol
symbol : class VaporVisitor
location: class V2VM
VaporVisitor visitor = new VaporVisitor();
^
V2VM.java:15: cannot find symbol
symbol : class VaporVisitor
location: class V2VM
VaporVisitor visitor = new VaporVisitor();
^
जब मैं javacc
चलाने मैं V2VM है, जो भी है, जहां अन्य दो फ़ाइलें स्थित हैं उसी निर्देशिका में हूँ । मैंने उसी पैकेज में V2VM और VaporVisitor डालने का प्रयास किया है, लेकिन यह भी काम नहीं करता है। तो वे अब किसी भी पैकेज का हिस्सा नहीं हैं ...
संपादित करें 2: VaporVisitor और V2VM
V2VM.java के स्रोत कोड:
package vv; //whether I put this or not, it doesn't work
//this stuff was provided, and is related to importing contents of the jar file; don't think this is the problem
import cs132.util.ProblemException;
import cs132.vapor.parser.VaporParser;
import cs132.vapor.ast.VaporProgram;
import cs132.vapor.ast.VBuiltIn.Op;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.PrintStream;
import vv.VaporVisitor; //whether I put this or not, it doesn't work
public class V2VM{
public static void main(String [] args){
VaporProgram vp = parseVapor(System.in, System.err);
VaporVisitor visitor = new VaporVisitor();
for(int i=0; i<vp.functions.length; i++){
for(int j=0; j<vp.functions[i].body.length; j++){
vp.functions[i].body[j].accept(parameter, visitor);
}
}
}
public static VaporProgram parseVapor(InputStream in, PrintStream err){
...
}
VaporVisitor.java के लिए:
package vv;
public class VaporVisitor extends VInstr.VisitorPR<Parameter_Type, Return_Type, RuntimeException>{
....
}
सभी 3 फाइलें एक ही निर्देशिका में हैं vv
आप कैसे संकलित कर रहे हैं? (उदाहरण के लिए, एक आईडीई सामान्य रूप से आपके लिए यह सब कुछ सॉर्ट करेगा।) –
आप उन वर्गों को कैसे संकलित करते हैं। हमें उन निर्देशिकाओं को दिखाएं जहां फाइलें रखी गई हैं, निर्देशिका जहां आप हैं, और कमांड फ़ाइलों को संकलित करने के लिए उपयोग की जाती है। आपके पास सटीक त्रुटि संदेश पेस्ट करें। हमें बताएं कि कक्षाएं किस पैकेज में हैं। –
मैं वास्तव में टर्मिनल का उपयोग कर रहा हूं और बस 'जावैक' चला रहा हूं। यह अच्छा होगा अगर मैं समझ सकूं कि यदि संभव हो तो आईडीई पर भरोसा करने के बजाय मुझे क्या करना चाहिए – pauliwago