JAVAの引数と戻り値を勉強している者です。
今つまずいてしまっており、ご教授して頂きたいです。
ユーザー定義メソッドを作成したいのですが、
配列を作成して、メソッドも定義してみたのですが、呼び出し側の部分がエラーになってしまっていて、どうすれば良いのか、色々調べたのですがよく分からず困っています。
メソッドの定義部分も間違っているのでしょうか?
以下詳細記します、、、
〇環境状態:Windows, NetBeans IDE8.2のサーブレット使用して作成しています。
<引数>
文字列型 String
<戻り値>
文字列型を要素に持つ配列型 String[]
<処理内容>
①3プロフィールを、3人分それぞれの配列で作成する。
→二次元配列で作成しました。
②引数として受け取ったIDの値と同じIDを持つ配列を、戻り値として返す。
→この部分の処理がどうすれば良いのか分からず、条件分岐を記し、returnしています。
④メソッドを呼び出し、その戻り値に格納された要素をそれぞれ表示する。
表示する要素は反復処理によって順番に指定して、IDの値は表示しない。
→この部分で「変数が見つかりません」とエラーになってしまいます。
java
1 2import java.io.IOException; 3import java.io.PrintWriter; 4import javax.servlet.ServletException; 5import javax.servlet.http.HttpServlet; 6import javax.servlet.http.HttpServletRequest; 7import javax.servlet.http.HttpServletResponse; 8 9/** 10 * 11 * @author ani 12 */ 13public class challenge1 extends HttpServlet { 14 /** 15 * Processes requests for both HTTP <code>GET</code> and <code>POST</code> 16 * methods. 17 * 18 * @param request servlet request 19 * @param response servlet response 20 * @throws ServletException if a servlet-specific error occurs 21 * @throws IOException if an I/O error occurs 22 */ 23 24 String[] profile(String key){ 25 String [][] profile_list={ 26 {"ID:123456","1989/1/30生まれ","東京都"}, 27 {"ID:987654","2015/5/6生まれ","青森県"}, 28 {"ID:716606","2030/6/8生まれ","香川県"} }; 29 30 for(String[] p: profile_list){ 31 if(p[0].equals(key))return p;} 32 33 return null; 34 } 35 36 protected void processRequest(HttpServletRequest request, HttpServletResponse response) 37 throws ServletException, IOException { 38 response.setContentType("text/html;charset=UTF-8"); 39 try (PrintWriter out = response.getWriter()) { 40 /* TODO output your page here. You may use following sample code. */ 41 out.println("<!DOCTYPE html>"); 42 out.println("<html>"); 43 out.println("<head>"); 44 out.println("<title>Servlet kadai</title>"); 45 out.println("</head>"); 46 out.println("<body>"); 47 48 String[] p= profile("ID:123456"); 49 for(int i=0; i<p.length; i++){ 50 out.print("【1】①"+p[1]+"②住所:"+p[2]); 51 out.print("<br>");} 52 53 54 String[] m= profile("ID:987654"); 55 for(int i=0; i<m.length; i++){ 56 out.print("【2】①"+m[1]+"②住所:"+m[2]); 57 out.print("<br>"); } 58 59 String[] n= profile("ID:716606"); 60 for(int i=0; i<n.length; i++){ 61 out.print("【3】①"+n[1]+"②住所:"+n[2]); 62 } 63 64 out.println("</body>"); 65 out.println("</html>"); 66 } 67 } 68 69 // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> 70 /** 71 * Handles the HTTP <code>GET</code> method. 72 * 73 * @param request servlet request 74 * @param response servlet response 75 * @throws ServletException if a servlet-specific error occurs 76 * @throws IOException if an I/O error occurs 77 */ 78 @Override 79 protected void doGet(HttpServletRequest request, HttpServletResponse response) 80 throws ServletException, IOException { 81 processRequest(request, response); 82 } 83 84 /** 85 * Handles the HTTP <code>POST</code> method. 86 * 87 * @param request servlet request 88 * @param response servlet response 89 * @throws ServletException if a servlet-specific error occurs 90 * @throws IOException if an I/O error occurs 91 */ 92@Override 93 protected void doPost(HttpServletRequest request, HttpServletResponse response) 94 throws ServletException, IOException { 95 processRequest(request, response); 96 } 97 98 /** 99 * Returns a short description of the servlet. 100 * 101 * @return a String containing servlet description 102 */ 103 @Override 104 public String getServletInfo() { 105 return "Short description"; 106 }// </editor-fold> 107 }
コンパイルエラーになってしまいます。どこが間違っているのでしょうか?
よろしくお願い致します。