我是一名開始接觸Java挑戰的計算機科學專業的學生。我們必須編寫一個錯誤的程序;這實際上是一個有趣的練習。我的一個同學給我發了一個補丁(英文不差),並說他給班上加了public
。我是否需要申報一個班級公衆(它是唯一一個沒有人會使用的班級中的班級)
這讓我感到驚訝。它是重要的還是僅僅是宣佈類public
的慣例。 該方案的工作,並從我的理解默認是封裝私人,我認爲這將是最好的蹩腳的小腳本,CS學生互相郵寄。
任何人都可以給我一些更深入的瞭解 - 關於Java的大部分內容,但一般的CS理論也可能證明是有洞察力的 - 也許有些術語可以用來進一步研究這些概念。
我想知道,如果我的同學更正是有效的或重要的,爲什麼。
編輯
抱歉,這是我原來的程序沒有錯誤
import java.util.Scanner;
/**
* Universal hello translator
* Author: Noel Niles mail: [email protected]
*
*/
class HelloUniverse {
public static void main (String [] args)
{
/* code */
int country; //number of country from list
String name; //name of person
String greeting; //hello in different languages
Scanner key = new Scanner(System.in);
System.out.print("Where are you from?\n"+
"Enter a number from the list:\n");
//TODO(anyone): Add some more countries and greetings
System.out.print("1. Afganistan\n" +
"2. Antarctica\n" +
"3. Australia\n" +
"4. Austria\n" +
"5. Bangladesh\n" +
"6. Belgium\n" +
"7. Brazil\n" +
"8. Burma\n" +
"9. Canada\n" +
"10. Chile\n" +
"11. China\n" );
//get the country code
country = key.nextInt();
key.nextLine();
//get the users name
System.out.println("What is you name?");
name = key.nextLine();
switch (country) {
case 1: greeting = "salaam";
break;
case 2: greeting = "h-h-h-i-i thththththere";
break;
case 3: greeting = "G'day mate";
break;
case 4: greeting = "Gruss Gott";
break;
case 5: greeting = "nomoskar";
break;
case 6: greeting = "Hallo";
break;
case 7: greeting = "Ola";
break;
case 8: greeting = "mingalaba";
break;
case 9: greeting = "Good day eh";
break;
case 10: greeting = "Hola";
break;
case 11: greeting = "Nei hou";
break;
default: greeting = "Invalid country";
break;
}
//display the greeting and the users name
System.out.printf("%s %s\n", greeting, name);
}
}
我不明白。如果課堂將自己定義爲一個蹩腳的腳本,並且您的唯一目標是使其工作,並且它按原樣運行,那麼您爲什麼關心其可見性修改器? – 2013-04-11 07:32:54
咦?我認爲我們的意思是一樣的。它只是一種節省擊鍵。但我想知道是否有一些我打破的約定。 – noel 2013-04-11 07:35:09
我會公開一個主類,主要是讓這個類出現在生成的javadoc中,從而能夠知道它是一個主類,以及主方法的可接受參數。 – 2013-04-11 07:37:53