자바에서 메인 매개변수인 args[]로 *를 받을 수 없나요?

Ψ골룸Ψ의 이미지

도와주세요 ㅠㅠ

학교에서 자바를 배우는 중인데 별것도 아닌거 같은게 너무 해결이 안되네요..

자바로 간단한 정수형 사칙연산을 만드는데 이런 프로그램이 있습니다.

문제는 여기서 예를 들어 2 * 3 이런식으로 곱하기 인수만 주면 포맷익셉션이 뜨고 동작을 안하네요..

나누기 표시 /는 동작 잘되는데 말이죠..

자바는 포인터가 없어 *가 그냥 곱셈으로만 쓰인다고 알고 있었는데 너무 답답한.....

에디터로는 에디트 플러스 2사용중이구요..

급한 숙제인데 많이 고민하다가 역시 프로그래밍 고수님은 여기 많으신거 같아서 이곳에 질문 올립니다 (_ _)

그럼 도움 부탁드립니다..

public class test{
public static void main(String args[]){

int a = Integer.parseInt(args[0]);
char ch = args[1].charAt(0);
int b = Integer.parseInt(args[2]);

switch(ch){
case '+':
System.out.println(a + "" + ch + "" + b + "=" + (a+b));
break;

case '-':
System.out.println(a + "" + ch + "" + b + "=" + (a-b));
break;

case '/':
System.out.println(a + "" + ch + "" + b + "=" + (a/b));
break;

case '*':
System.out.println(a + "" + ch + "" + b + "=" + (a*b));
break;

}
}
}

다른 방식으로 사칙연산 만들 수 있는 법도 있다는건 아는데 위의 코드 형식으로 해결해야되서요;;

winner의 이미지

명령 shell에서 하면 어떤 형태로든 모양이 제대로 안 나오는 것 같은데 말이예요.

suns1997의 이미지

java test 3 * 5 하면 *가 문자로 인식하는 것이 아니라 현재 폴더에 있는 파일이름이 들어갑니다.
쉘에 의해서 해석됨.
따라서 실제로 args[0] = 3, args[1], args[2]을 찍어 보시면 현재 실행 하는 폴더에 파일 이름이 들어갑니다.

gtko의 이미지

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while( true )
{
	System.out.print( "곱셈: 1 * 1 형식으로 입력하세요: " );
       strInput = br.readLine();
       ...
}

--
Go For It, Go For Mad.
http://gtko.springnote.com

--
Go For It, Go For Mad.
http://gtko.springnote.com

Ψ골룸Ψ의 이미지

먼저 답변 달아주신 분들께 감사드립니다..

근데 InputStreamReader는 아직 배우지 않은 부분이라;; 솔직히 배운 부분들로는 어케 해결해야될지 모르겠네요..
위의 코딩이 +,-까지는 완성된 상태로 */를 덧붙이라고 나온 과제라서요..

그리고 suns1997님게서 말씀하신 3 '*' 5 이런 방식으로도 안되는군요..
그냥 알파벳 x를 입력할때 곱하기 표시로 사용하면 간단한데 굳이 교수님께서 *연산을 완성하라고 하셔서요 ㅠㅠ

Go-llum ~! Go-llum~!

~(ㅡωㅡ ~) (~ㅡ ωㅡ)~

Go-llum ~! Go-llum~!

~(ㅡωㅡ ~) (~ㅡ ωㅡ)~

suns1997의 이미지

올리신 프로그램으로 3 '*' 5 이됩니다.

Ψ골룸Ψ의 이미지

suns1997님 말씀을 듣고 해보니 cmd 창에서 실행할 경우 3 "*" 5 로 하니까 정상적으로 나오네요..
작은 따옴표로 감싸면 그냥 press any key만 나오고 큰 따옴표로 바꾸니까 결과물이 나오는데 문제는 학교에서 실습하는 환경이 에디트 플러스2를 사용해서 ctrl+3으로 인수를 주는 방식인데 이렇게 할 경우 3 "*" 5로 입력해도 3 * 5할 경우와 똑같이 FormatException예외가 발생합니다.ㅠㅠ
코드랑 에딧플러스2로 입출력한 결과물 스샷까지 올려야 되는데 완전 난관이네요 ㅜㅠ

Go-llum ~! Go-llum~!

~(ㅡωㅡ ~) (~ㅡ ωㅡ)~

Go-llum ~! Go-llum~!

~(ㅡωㅡ ~) (~ㅡ ωㅡ)~

imyejin의 이미지

도대체 왜 자바 실습을 하는데 공개에다 무료이기까지 한 자바를 위해 개발된 이클립스를 놔두고 에디트 플러스인지 뭔지 하는 비공개 유료 듣보잡을 사용하는지 이해가 안가는군요. 학과장에게 과목 실습 내용에 대해 항의해야 될 것 같다는 생각이 듭니다.

임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin

[예진아씨 피카사 웹앨범] 임예진 팬클럽 ♡예진아씨♡ http://cafe.daum.net/imyejin

dorado2의 이미지

에디트플러스가 듣보잡이라는데는 동의할 수 없네요.
국산 에디터로 국내외에서도 많이 사용되고 기능도 괜찮은 것으로 알고 있습니다.
저야 울트라에디트 정품 사용자이지만..

학교에서 사이트 라이센스로 구매해서 사용하는 것도 좋아보이구요.

문제는 실습 결과물을 에디트플러스 스크린샷으로 꼭 제출하도록 한 교수(혹은 조교)가 좀 이상한 거 같네요.
콘솔이든 다른 에디터 창이든 출력만 해서 보여주면 될텐데요.
글쓰신 분은 굳이 따를 필요 없이 콘솔 결과를 캡쳐해서 내도 될 것 같습니다.

저도 이전에 자바 어플리케이션 간단한 거 개발할 때 이클립스 사용했습니다만,
다른 거 사용하는 사람도 있을 수 있지요. 에디트플러스든 울트라에디트든요.

glay의 이미지

어짜피 학교이고 한데;;

기왕이면 국산무료인 acroedit 어떤가 싶군요. 전 acroedit 를 사용합니다.

--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr


--------------- 절취선 ------------------------
하늘은 스스로 삽질하는 자를 삽으로 팬다.

http://glay.pe.kr

vacancy의 이미지


"*" 대신 \* 해도 그런가요 ?

Ψ골룸Ψ의 이미지

vacancy// "*" 대신에 \* 하면 예외가 아닌 에러가 나오네요.. 위의 소스로 가능한 방법은 cmd창에 "*"하나뿐인듯 싶습니다;;

그나저나 여러분이 댓글로 많은 도움 주셔서 너무 감사드립니다..
과제는 그냥 dorado2님 말씀대로 그냥 콘솔결과 캡쳐해서 제출했습니다ㅋ
공부해야할게 아직도 많고 많지만 개인적으로 자바라는 것이 C에 비해서 그리 재밌지는 않네요.. ㅠㅠ

Go-llum ~! Go-llum~!

~(ㅡωㅡ ~) (~ㅡ ωㅡ)~

Go-llum ~! Go-llum~!

~(ㅡωㅡ ~) (~ㅡ ωㅡ)~

winner의 이미지

표준 library가 많이 있고, 만들어진 framework가 많다는 것이 Java의 재미죠.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.