❶ 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;
}
}
}
❷ 在java中如何輸入char型數據
直接輸入不行,要進行轉換
import java.util.*;
class Test
{
public static void main(String []args)
{
Scanner s=new Scanner(System.in);
String str=s.nextLine();
char ch=str.charAt(0);
System.out.println(ch);
}
}
這個程序的缺點是讀入str字元串後再轉換,ch只讀取了str的第一個字元。
❸ Java中怎麼輸入一個字元(用char來定義)
1.先創建一個scanner對象
2.調用scanner對象的next()方法獲取控制台輸入,返回的是一個string類型,因為沒有nextchar()方法
3.調用string的charat(0)方法獲取第一個字元
scanner
sc
=
new
scanner(system.in);
string
s
=
sc.next();
char
c
=
s.charat(0);
❹ 在java中如何輸入一個char型字元。
方法一:
Scanner cin=new Scanner(System.in);
String s=cin.nextLine();
char ans=s.charAt(0);
這樣即可獲取一個字元。
方法二:
byte[] b=new byte[2];
try{
System.in.read(b)
}catch(Exception e){}
char ans=new String(b).charAt(0);
這樣即可獲取一個字元
❺ 怎樣用java輸入一個char型的二維數組
代碼如下:
以下是文字版的代碼:
import java.util.Scanner;
public class Test{
public static void main(String []args) {
Scanner in=new Scanner(System.in);
System.out.print("請輸入數組c第一維的元素個數:");
int n=in.nextInt();
char[][] c=new char[n][];
int[] m=new int[n];
int i,k;
String s;
for(i=0;i<n;i++)
{
System.out.print("請輸入數組c["+i+"]的元素個數:");
m[i]=in.nextInt();
c[i]=new char[m[i]];
for(k=0;k<m[i];k++)
{
System.out.print("請輸入c["+i+"]["+k+"]:");
s=in.next();
c[i][k]=s.charAt(0);
}
}
in.close();
System.out.println("輸入的二維數組如下:");
for(i=0;i<n;i++)
{ for(k=0;k<c[i].length;k++)
{
System.out.print(c[i][k]+" ");
}
System.out.println();
}
}
}
❻ java中的「char」指的是什麼
char是Java中的保留字,表示一種數據類型。與別的語言不同的是,char在Java中是16位的,因為Java用的是Unicode編碼。不過8位的ASCII碼包含在Unicode編碼中,其值對應於0~127。
char初始化方式
char c='c'; //字元,可以是漢字,因為是Unicode編碼
char c=十進制數,八進制數,十六進制數等等; //可以用整數賦值
char c='\u數字'; //用字元的編碼值來初始化,如:char='\0',表示結束符,它的ascll碼是0,這句話的意思和 char c=0 是一個意思。
❼ java中鍵盤輸入char類型
如果判斷是不是t的話直接使用String就可以了呀,如果非要使用Char也只能轉為Char數組了,或者強制轉型一下~
class Myexception extends Exception{
protected Throwable throwable;
//構造方法
public Myexception()
{
super("不應該輸入T或t字元");
}
}
public class test_1{
public void test(String str) throws Myexception {
Scanner scanner = new Scanner(System.in);
String t = scanner.nextLine();
if(t.equalsIgnoreCase("t"))
{
throw new Myexception();
}
}
public static void main(String args[]){
try {
new test_1().test();
} catch (Myexception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
❽ java中如何輸入char型數據
java如果從控制端輸入char類型數據,可以使用scanner來掃描用戶輸入的字元,實例如下:
Scannerin=newScanner(System.in);
inttemp=in.nextInt();
charc=(char)temp;
System.out.println("thecis:"+c);
如果是輸出為char類型,可以通過轉義字元來替代,形如:/n、/d等。
❾ 怎麼在JAVA用鍵盤讀入一個char型
很多方法啊,最簡單是用你讀入時候之要一個字元的string,然後轉換成char,或者讀多個然後用string的里的方法分成一個char數組,或者可以用system.in裡面有一一些方法可以讀出char