匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 9 年前

新手學Java 遇到問題請幫忙

這個程式有一個錯誤(紅字那行)我不知道怎麼改

錯誤的敘述是 incompatible types

請高手請達 多謝

import java.util.Scanner;

public class pp1 {

public pp1() {

}

public static void main(String []args)

{

int aaa;

String a;

Scanner sc =new Scanner(System.in);

a=sc.next();

switch (a)

{

case "0":

System.out.print("數字");

break;

case "a":

System.out.print("英文");

break;

}

}

}

3 個解答

評分
  • 9 年前
    最佳解答

    你的錯誤出在 switch的流程控制判斷式中只接受 byte ,int,char,short 四種基本型。 而你設的變數 a 是字串資料型別所以才會出現錯誤 要能讓你這個程式可以正常執行改成如下:

    import java.util.Scanner;

    public class pp1 {

    public static void main(String []args) {

    String a;

    Scanner sc =new Scanner(System.in);

    System.out.println("請輸入");

    a=sc.next();

    for(int i=0;i<a.length(); i++){

    char x =a.charAt(i);

    switch (x) {

    case '0':

    System.out.print("數字");

    break;

    case 'a':

    System.out.print("英文");

    break;

    }

    }

    }

    }

    這樣在輸入者輸入字串中只要有符合 case中設的字元即可判斷

    參考資料: 加菲貓
  • 胤煌
    Lv 5
    9 年前

    switch只接受byte 、int、char、short的觀念在jdk1.7已經不適用了

    在1.7中就能夠在switch中使用String

    發問者的程式在1.7中是能run的

  • 9 年前

    switch 只接受char或int...

還有問題?馬上發問,尋求解答。