今JAVAのプログラムの勉強(初心者)をしているのですが、あるプログラムコードを実行すると 「Exception in thread "main" java.lang.NullPointerException at pkg4.pkg9.Main.main(Main.java:22) Java Result: 1」というエラーが起きておりどこがエラーなのかコードを眺めてみたのですがよくわかりません。 ============================================================================ Heroクラス ==================================================================================================== package pkg4.pkg9; public class Hero{ Sword sword; String name; int hp; public Hero (String name) { } public void setSword(Sword sword){ } public Sword getSword(){ return this.sword=sword; } public Hero clone(){ Hero kopi =new Hero (name); kopi.name=this.name; kopi.hp=this.hp; kopi.sword=this.sword; return kopi; } } ===================================================================================================== メインクラス ===================================================================================================== package pkg4.pkg9; public class Main { /** * @param args the command line arguments */ public static void main (String[] args) { // TODO code application logic here Hero hero = new Hero("ミナト"); Sword sword = new Sword ("はがねの剣"); hero.setSword(sword); System.out.println ("装備:"+hero.getSword().getName ()); System.out.println ("cloneで複製します"); Hero hero2 = hero.clone (); System.out.println ("コピー元の勇者の名前を変更します"); hero.getSword ().setName ("ヒノキの棒"); System.out.println ("コピー元とコピー先の勇者の装備を表示します"); System.out.println ("コピー先:"+hero.getSword ().getName ()+ "コピー先"+hero2.getSword ().getName ()); } } ==================================================================================================== Swordクラス ==================================================================================================== package pkg4.pkg9; public class Sword { private String name; public Sword (String name) { int damege; } public String getName(){ return this.name=name; } public void setName(String name){ this.name=name; } } どこがエラーなのか?どなたかご教授願います。
↧