JBTALKS.CC

标题: 有个java的问题,帮帮忙 [打印本页]

作者: shinn1080    时间: 2009-10-13 10:52 AM
标题: 有个java的问题,帮帮忙
我想请问如何分辨我们输入的是 int 还是string呢?
就是我想如果user input int的话,我就开始做我的东西算,
如果user input的是string 的话,我就要告诉他please input integer number然后loop回去...
可是我做不到...大家帮帮忙!

/*Question 1
Write a program to calculate the total amount owed by a company. Great Eastern Pte Ltd offers management seminars to companies.
The fee per person is based on the number of registrants for the seminar. Use the following table to complete the calculation. (20 marks)

Number of registrants                        Condition
1-10                               RM400 per person
10-20                                                   RM300 per person
>20                                                       RM200 per person
<1                                                       RM0 per person

if the number registered is not numeric, you program should display an appropriate message on the dialog box and ask the user to re-enter the number.
**/

import java.util.*;
class Revision_Q1{
       
        public static void main(String[]args){
                Scanner input=new Scanner(System.in);
                System.out.println("Please enter your number of registrants");
                int reg=input.nextInt();
                String reg2=input.next();
                int result=0;
               
                if(reg2){
                        System.out.println("please input integer number");
                        int reg=input.nextInt();
                        String reg2=input.next();
                }else if(reg){
                       
                        if((reg>=1)&&(reg<=10)){
                                result=reg*400;
                        }else if((reg>10)&&(reg<=20)){
                                result=reg*300;
                        }else if((reg>20)){
                                result=reg*200;
                        }else{
                                result=reg*0;
                        }//end else
               
                }//end else if
               
                System.out.println(result);
               
               
                }//end main
       
}//end class
作者: 毛毛小子    时间: 2009-10-13 12:28 PM
用户Input的将会是String,你需要的是把String转换成Integer,然后再拿Integer放进Algorithm里面运算

应该是这样。。。。

int reg=Integer.parseInt(input);


你试试看吧
作者: 宅男-兜着走    时间: 2009-10-13 01:57 PM
原帖由 shinn1080 于 2009-10-13 10:52 AM 发表
我想请问如何分辨我们输入的是 int 还是string呢?
就是我想如果user input int的话,我就开始做我的东西算,
如果user input的是string 的话,我就要告诉他please input integer number然后loop回去...
可是 ...


import java.util.*;
/**
*
* @author junior
*/
public class Main {

    public static void main(String[] args) {

Scanner scan = new Scanner(System.in);
int input = 0; // init Int data type.
System.out.println("insert some thing here");
try{
//现在我尝试 parseInt 看看。
input =  Integer.parseInt(scan.nextLine());
// 假设现在 如果 输入的是英文字肯定层序会爆。 加油。
}catch(Exception e){
System.out.println("error found"); // 通知人家你已经 error 了。
System.out.println(e); // Error code , 要不要都可以。
System.exit(0); // 我的动作是直接出 Program, 这里你能自己定义
}
//没Error 恭喜。
System.out.println("no error found you insert is number " + input);
    }
}


同学, java 如果 没catch exeption 的话 会爆的。
作者: shinn1080    时间: 2009-10-14 01:03 AM
标题: 回复 #3 宅男-兜着走 的帖子
解决了!感谢你!!!




欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) Powered by Discuz! X2.5