System.in()으로 받기

Scanner은 잘 정의된 입력 객체이다.
System.in.read();를 사용할 수 있다.

이럴경우에는 main 아래에 예외 처리를 해줘야한다.

import java.io.IOException;  을  import 해주고
다음과 같이 throws IOException 해준다.

import java.io.IOException;

public class IfTest3 
{
	public static void main(String[] args) 
		throws IOException
	{
		System.out.println("0~9 사이의 정수 또는 문자를 입력하세요");
		int input = System.in.read();
		System.out.println(input);

		/*[문제] 입력받은 값이 0~9사이 값이면 "숫자이군요"
		또는 알파벳 대문자이거나 소문자이면 "알파벳입니다"
		그외 문자이면 "기타 문자입니다"를 출력하세요*/
		
		if('0'<=input && input<='9'){
			System.out.println("숫자입니다");
		}else if(('A'<=input&&input<='Z')||('a'<=input&&input<='z')){
			System.out.println("알파벳입니다");
		}else{
			System.out.println("기타 문자입니다.");
		}

	}
}

Scanner을 이용하여 char 받기

char 을 위에본 것 같이 IOException으로 받을 수 있지만
Scanner을 이용하면 다음과 같이 받을 수 있다.

String str = sc.next();
char ch = str.charAt(0);


switch문 활용 연습문제

import java.util.Scanner;

public class SwitchTest6
{
	public static void main(String[] args) 
	{
		System.out.println("-----------Menu------------");
		System.out.println("1. 가정용 (liter당 50원)");
		System.out.println("2. 상업용 (liter당 40원)");
		System.out.println("3. 가정용 (liter당 30원)");
		System.out.println("-----------메뉴 번호를 선택------------");
		System.out.println("---------------------------");

		Scanner sc = new Scanner(System.in);
		int menuNo = sc.nextInt();
		System.out.println("menuNo:"+ menuNo);
		System.out.println("사용량을 입력하세요=>");
		int use=sc.nextInt();
		System.out.println("사용량"+use+"리터");
		
		int price =0;

		switch(menuNo){
			case 1 : price = 50; break;
			case 2 : price = 40; break;
			case 3 : price = 30; break;
		}
		
		System.out.println("사용요금" + price*use);
		System.out.println("세금" + price*use*0.05);
		System.out.println("총수도 요금" + price*use*1.05);

	}
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

form 양식

form 태그는 서버쪽으로 데이터를 전송하고자 할 때 사용한다.

      - form 태그의 속성

       1)action : 폼 데이터를 처리해줄 서버 페이지를 기술한다.

       2)method : 데이터 전송방식을 기술한다.
                      주로 get 아니면 post 기술 
                       get : 간단한 데이터를 전송할 때
                             데이터가 url 부분에 노출이 된다. 비밀번호, 주민번호 등은 get으로 전송하면 안된다.

                      post : 파일업로드 등 대용량의 데이터를 전송할 때 사용
                               delete, option, put
                              데이터가 url에 노출되지 않고 서버에 전달되다.
 
       3)enctype: 인코딩 방식을 지정
                      파일 업로드시 multipart / form-data를 지정해야 함  --> form 태그에 넣어준다

       4)name, id : 자바스크립트 처리시 사용하는 속성

       form-control
          input type => text, password, file, chckbox, radio, select, textarea

       checkbox
               value 값이 넘어간다,  checked = "checked"시 체크 되어있음
       radio
               성별 같은 하나만 선택 되어야 하는 것
       reset
               type reset 은 입력한 값들을 초기화 시켜준다.
       button
              일반 버튼 type 아무 기능 없으나 자바스크립트를 이용해 기능을 추가할 수 있다.

image파일을 버튼으로 쓰는 경우
<input type ="image" src = "images/button.png">

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>ex17실습.html</title>
 </head>
 <style type="text/css">

	span{
		color : blue;
		font-size : 12px;
	}
	td.fr{
		width : 200px;
		text-align : right;
		background-color : 	#ffff99;
	}
	td.fr2, tr.fr2{
		color : blue;
		font-weight : bold;
		width : 700px;
		background-color : #33ccff;
	}
	#cc{
		color: red;
	}
	#a{
		position : absolute;
		margin-left : 300px;
	}
 </style>
 <body>
  <h1>회원가입</h1>
  <form action="join.jsp" method="post">
  <table>
	<tr>
		<td rowspan="2" class= "fr">* 아이디</td><td><input type="text" name="userid">&nbsp;<input type="button" value="중복검사"></td>
	</tr>
	<tr>
		<td ><span>(4~12자 영자/숫자 가능,한글,특수문자 ID는 사용할 수 없습니다.)</span></td>
	</tr>
	<tr>
		<td class= "fr">* 비밀번호</td><td><input type="password" name="pwd">&nbsp;<span>(4~8자 이내로 만들어 주세요)</span></td>
	</tr>
	<tr>
		<td class= "fr">* 비밀번호 확인</td><td><input type="password" name="pwd2">&nbsp;<span>(위 번호와 같이 입력해 주세요)</span></td>
	</tr>
	<tr>
		<td class= "fr">* 본인확인 질문</td><td><select name="question"><option value="question">질문을 선택하세요</option></select></td>
	</tr>
	<tr>
		<td class= "fr">* 본인확인 답</td><td><input type="text" name="answer">&nbsp;<span>(비밀번호 분실, 변경시 본인확인을 위한 정보)</span></td>
	</tr>
	</table>
	<table>
	<tr  class= "fr2">
		<td  class= "fr2" >☞개인정보</td>
	</tr>
	</table>
	<table>
	<tr>
		<td class= "fr">* 이름(한글)</td><td><input type="text" name="name">&nbsp;<span>(예:박정현)</span></td>
	</tr>
	<tr>
		<td class= "fr">성별</td><td><input type="radio" name="gender" value="male" checked="checked">남<input type="radio" name="gender" value="female" >여</td>
	</tr>
	<tr>
		<td class= "fr">생년월일</td><td><input type="text" name="year">&nbsp;년&nbsp;<select name="month"><option value="1">선택</option></select>월&nbsp;<select name="day"><option value="1">선택</option></select>일&nbsp; <input type="radio" name="calender" value="male" >음력<input type="radio" name="calender" value="female" >양력</td>
	</tr>
	<tr >
		<td rowspan="2" class= "fr">* 주소</td><td><input type="text" name="where">&nbsp;<input type="button" value="우편번호 찾기"></td>
	</tr>
	<tr>
		<td><input type="text" name="detail_where"></td>
	</tr>
	<tr>
		<td rowspan="2" class= "fr">* 전화번호</td><td><span id="cc">핸드폰</span>&nbsp;<input type="text" name="firstPhone" style="width:50px;">&nbsp;-&nbsp;<input width="10px" type="text" name="secondPhone" style="width:50px;">&nbsp;-&nbsp;<input type="text" name="thirdPhone" style="width:50px;"><input type="radio" name="network" value="skt" >SKT<input type="radio" name="network" value="ktf" >&nbsp;KTF<input type="radio" name="network" value="lgt" >&nbsp;LGT</td>
	</tr>
	<tr>
		<td><span id="cc">집/회사</span>&nbsp;<input type="text" name="firstPhone" style="width:50px;">&nbsp;-&nbsp;<input type="text" name="secondPhone" style="width:50px;">&nbsp;-&nbsp;<input type="text" name="thirdPhone" style="width:50px;">&nbsp;<span>최소 한개는 입력하세요</span></td>
	</tr>
	<tr>
		<td class= "fr">* 직업</td><td><select name="job"><option value="job">직업을 선택하세요</option></select></td>
	</tr>
	<tr>
		<td class= "fr">이메일</td><td><input type="text"></td>
	</tr>
	<tr>
		<td class= "fr">메일수신</td><td><input type="radio" name="mail" value="true" checked="checked">받습니다.<input type="radio" name="mail" value="false" >받지 않습니다.&nbsp;<span>다양하고 유익한 정보, 메일로 받아가세요</span></td>
	</tr>
	<tr>
		<td class= "fr">SMS수신</td><td><input type="radio" name="mail" value="true" >받습니다.<input type="radio" name="mail" value="false" >받지 않습니다.</td>
	</tr>
	<tr>
		<td class= "fr" >가입인사</td><td><textarea rows="7" cols="50"></textarea></td>
	</tr>
  </table>
  <div id="a" ><input type="submit" value="확인"> &nbsp;<input type="reset" value="다시입력"></div>
  </form>
 </body>
</html>

이렇게 되면 join.jsp에 unname에 들어온 값을 찾아가는 것이다.

사용자에게 보이지 않게 서버에 전달해야 할 데이터가 있다면 input type을 hidden으로 주자


연습문제

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus®">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title>ex17실습.html</title>
 </head>
 <style type="text/css">

	span{
		color : blue;
		font-size : 12px;
	}
	td.fr{
		width : 200px;
		text-align : right;
		background-color : 	#ffff99;
	}
	td.fr2, tr.fr2{
		color : blue;
		font-weight : bold;
		width : 900px;
		background-color : #33ccff;
	}
	#cc{
		color: red;
	}
	#a{
		position : absolute;
		margin-left : 300px;
	}
 </style>
 <body>
  <h1>회원가입</h1>
  <form action="join.jsp" method="post">
  <table>
	<tr>
		<td rowspan="2" class= "fr">* 아이디</td><td><input type="text" name="userid">&nbsp;<input type="button" value="중복검사"></td>
	</tr>
	<tr>
		<td ><span>(4~12자 영자/숫자 가능,한글,특수문자 ID는 사용할 수 없습니다.)</span></td>
	</tr>
	<tr>
		<td class= "fr">* 비밀번호</td><td><input type="password" name="pwd">&nbsp;<span>(4~8자 이내로 만들어 주세요)</span></td>
	</tr>
	<tr>
		<td class= "fr">* 비밀번호 확인</td><td><input type="password" name="pwd2">&nbsp;<span>(위 번호와 같이 입력해 주세요)</span></td>
	</tr>
	<tr>
		<td class= "fr">* 본인확인 질문</td><td><select name="question"><option value="question">질문을 선택하세요</option></select></td>
	</tr>
	<tr>
		<td class= "fr">* 본인확인 답</td><td><input type="text" name="answer">&nbsp;<span>(비밀번호 분실, 변경시 본인확인을 위한 정보)</span></td>
	</tr>
	</table>
	<table>
	<tr  class= "fr2">
		<td  class= "fr2" >☞개인정보</td>
	</tr>
	</table>
	<table>
	<tr>
		<td class= "fr">* 이름(한글)</td><td><input type="text" name="name">&nbsp;<span>(예:박정현)</span></td>
	</tr>
	<tr>
		<td class= "fr">성별</td><td><input type="radio" name="gender" value="male" checked="checked">남<input type="radio" name="gender" value="female" >여</td>
	</tr>
	<tr>
		<td class= "fr">생년월일</td><td><input type="text" name="year">년<select name="month"><option value="1">선택</option></select>월<select name="day"><option value="1">선택</option></select>일 <input type="radio" name="calender" value="male" >음력<input type="radio" name="calender" value="female" >양력</td>
	</tr>
	<tr >
		<td rowspan="2" class= "fr">* 주소</td><td><input type="text" name="where">&nbsp;<input type="button" value="우편번호 찾기"></td>
	</tr>
	<tr>
		<td><input type="text" name="detail_where"></td>
	</tr>
	<tr>
		<td rowspan="2" class= "fr">* 전화번호</td><td><span id="cc">핸드폰</span>&nbsp;<input type="text" name="firstPhone">&nbsp;-&nbsp;<input type="text" name="secondPhone">&nbsp;-&nbsp;<input type="text" name="thirdPhone"><input type="radio" name="network" value="skt" >SKT<input type="radio" name="network" value="ktf" >&nbsp;KTF<input type="radio" name="network" value="lgt" >&nbsp;LGT</td>
	</tr>
	<tr>
		<td><span id="cc">집/회사</span>&nbsp;<input type="text" name="firstPhone">&nbsp;-&nbsp;<input type="text" name="secondPhone">&nbsp;-&nbsp;<input type="text" name="thirdPhone">&nbsp;<span>최소 한개는 입력하세요</span></td>
	</tr>
	<tr>
		<td class= "fr">* 직업</td><td><select name="job"><option value="job">직업을 선택하세요</option></select></td>
	</tr>
	<tr>
		<td class= "fr">이메일</td><td><input type="text"></td>
	</tr>
	<tr>
		<td class= "fr">메일수신</td><td><input type="radio" name="mail" value="true" checked="checked">받습니다.<input type="radio" name="mail" value="false" >받지 않습니다.&nbsp;<span>다양하고 유익한 정보, 메일로 받아가세요</span></td>
	</tr>
	<tr>
		<td class= "fr">SMS수신</td><td><input type="radio" name="mail" value="true" >받습니다.<input type="radio" name="mail" value="false" >받지 않습니다.</td>
	</tr>
	<tr>
		<td class= "fr" >가입인사</td><td><textarea rows="7" cols="50"></textarea></td>
	</tr>
  </table>
  <div id="a" ><input type="submit" value="확인"> &nbsp;<input type="reset" value="다시입력"></div>
  </form>
 </body>
</html>

+ Recent posts