আমি জাভাতে কিছুক্ষণ প্রোগ্রামিং করছি এবং পুরোপুরি সি # তে লেখা একটি প্রকল্পের দিকে ছুঁড়েছি। আমি সি # তে গতিতে এগিয়ে আসার চেষ্টা করছি, এবং আমার নতুন প্রকল্পে বেশ কয়েকটি জায়গায় ব্যবহৃত এনামগুলি লক্ষ্য করেছি, তবে প্রথম নজরে, সি # এর এনামগুলি জাভা 1.5+ বাস্তবায়নের চেয়ে আরও সরল মনে হয়েছে। সি # এবং জাভা এনামগুলির মধ্যে যে কেউ পার্থক্য গণনা করতে পারে এবং কীভাবে এই পার্থক্যগুলি কাটিয়ে উঠতে পারে? (আমি কোনও ভাষা শিখা যুদ্ধ শুরু করতে চাই না, আমি জাভাতে যা করতাম সি # তে কিছু জিনিস কীভাবে করব তা আমি জানতে চাই)) উদাহরণস্বরূপ, কেউ সূর্যের বিখ্যাত প্ল্যানেট এনাম উদাহরণের সাথে সি # সমমনা পোস্ট করতে পারে?
public enum Planet {
MERCURY (3.303e+23, 2.4397e6),
VENUS (4.869e+24, 6.0518e6),
EARTH (5.976e+24, 6.37814e6),
MARS (6.421e+23, 3.3972e6),
JUPITER (1.9e+27, 7.1492e7),
SATURN (5.688e+26, 6.0268e7),
URANUS (8.686e+25, 2.5559e7),
NEPTUNE (1.024e+26, 2.4746e7),
PLUTO (1.27e+22, 1.137e6);
private final double mass; // in kilograms
private final double radius; // in meters
Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}
public double mass() { return mass; }
public double radius() { return radius; }
// universal gravitational constant (m3 kg-1 s-2)
public static final double G = 6.67300E-11;
public double surfaceGravity() {
return G * mass / (radius * radius);
}
public double surfaceWeight(double otherMass) {
return otherMass * surfaceGravity();
}
}
// Example usage (slight modification of Sun's example):
public static void main(String[] args) {
Planet pEarth = Planet.EARTH;
double earthRadius = pEarth.radius(); // Just threw it in to show usage
// Argument passed in is earth Weight. Calculate weight on each planet:
double earthWeight = Double.parseDouble(args[0]);
double mass = earthWeight/pEarth.surfaceGravity();
for (Planet p : Planet.values())
System.out.printf("Your weight on %s is %f%n",
p, p.surfaceWeight(mass));
}
// Example output:
$ java Planet 175
Your weight on MERCURY is 66.107583
Your weight on VENUS is 158.374842
[etc ...]