1. 程式人生 > >java中如何輸入char型別

java中如何輸入char型別

   java中基本資料型別的輸入包括整形的輸入:in.nextInt();單精度浮點型:in.nextFloat();雙精度浮點型:in.nextDouble();字串型別:in.next();in.nextLine();那麼,您是否以為char型別也如in.nextChar();這樣呢?如果您這樣寫過,那麼您一定見過這個error:“The method nextChar() is undefined for the type Scanner”。那麼char型別該如何輸入呢???

   有時候需要我們用Scanner接收char型別資料,而不是接收String。比如,當我們要用到switch()語句時,就不能用String型別了。

switch語句:switch關鍵字的中文意思是開關、轉換的意思,switch語句在條件語句中特別適合做一組變數相等的判斷,在結構上比if語句要清晰很多。

  switch語句的語法格式為:
   switch(表示式){
   case 值1:
   功能程式碼1;
  [break;]
   case 值2:
   功能程式碼2;
   [break;]
   ……
  default:
   功能程式碼1;
   [break;]
   }
   語法說明:
   1、 表示式的型別只能為byte、short、char和int這4種之一。
   2、 值1、值2…值n只能為常數或常量,不能為變數。
   3、 功能程式碼部分可以寫任意多句。
   4、 break關鍵字的意思是中斷,指結束switch語句,break語句為可選。
   5、 case語句可以有任意多句,是標號語句。
   6、 default語句可以寫在switch語句中的任意位置,功能類似於if語句中的else.執行流程:當表示式的值和           對應case語句後的值相同時,既從該位置開始向下執行,一直執行到switch語句的結束,在執行中,如果           遇到break語句,則結束switch語句的執行。

   正常使用Scanner時,可以這樣:

Scanner in = new Scanner(System.in);

char c = in.next().charAt(0);

下面是ACM中的模擬計算器的題目,以此作為示例:

import java.util.*;
public class Main {
public static void main(String[] args){

Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
char c = in.next().charAt(0);
switch(c)
{
case '+':
System.out.printf("%d",a+b);
break;
case '-':
System.out.printf("%d",a-b);
break;
case '*':
System.out.printf("%d",a*b);
break;
case '/':
if(b!=0)
{
System.out.printf("%d",a/b);
}
break;
}
}
}