当前位置: 首页 > 知识库问答 >
问题:

类型不匹配:无法从String转换为int-java

江奕
2023-03-14
import java.util.*;

public class matchScore{

  public static void main(String[] args){

    String opt;
    String home_team_name;
    String away_team_name;
    int home_team_score;
    int away_team_score;

    String[] name = new String[10];
    int[] score = new int[10];

    System.out.println("Retype an option:\n");
    System.out.println("Home teams");
    System.out.println("Away teams");
    System.out.println("Outputs");

    Scanner scan = new Scanner(System.in);

    opt = scan.nextLine();

    if(opt == "Home teams"){
      System.out.println("Entre first home team name: ");
      name[0] = scan.nextLine();
      System.out.println("Entre first home team score: ");
      score[0] = scan.nextLine();

      System.out.println("Entre second home team name: ");
      name[1] = scan.nextLine();
      System.out.println("Entre second home team score: ");
      score[1] = scan.nextLine();

      System.out.println("Entre third home team name: ");
      name[2] = scan.nextLine();
      System.out.println("Entre third home team score: ");
      score[2] = scan.nextLine();

      System.out.println("Entre forth home team name: ");
      name[3] = scan.nextLine();
      System.out.println("Entre forth home team score: ");
      score[3] = scan.nextLine();

      System.out.println("Entre fifth home team name: ");
      name[4] = scan.nextLine();
      System.out.println("Entre fifth home team score: ");
      score[4] = scan.nextLine();

      System.out.println("Entre sixth home team name: ");
      name[5] = scan.nextLine();
      System.out.println("Entre sixth home team score: ");
      score[5] = scan.nextLine();

      System.out.println("Entre seventh home team name: ");
  name[6] = scan.nextLine();

      System.out.println("Entre seventh home team score: ");
      score[6] = scan.nextLine();
    }
  }
}

共有1个答案

计泉
2023-03-14

使用

score[0] = scan.nextInt();

而不是

score[0] = scan.nextLine();

因为Score[]是int[]的数组。

 类似资料:
  • 问题内容: 我有以下几行代码 我认为第3行和第4行执行相同的任务,然后为什么编译器在第4行显示错误“类型不匹配:无法从long转换为int” 请帮忙。 问题答案: 这是因为复合赋值运算符会进行隐式转换。 从JLS复合分配运算符: 形式的复合赋值表达式等效于,其中是的类型,不同之处在于该表达式仅被评估一次。 对于二进制运算符,则必须显式进行强制转换。进行第四项作业: 它会工作。这就是您的复合赋值表达

  • 问题内容: 我正在使用ZXING库在JAVA中创建QR码生成器程序。该程序是 编译该程序时,出现类型不匹配错误, 在这条线 请帮忙!!! 问题答案: 我自己从未使用过该库,但是阅读错误消息时,我会假设您必须要以字节为单位存储字节的问题。问题将是一个字节由多个位组成,因此您不能仅通过一位表示一个字节。 将编码数据存储到ByteMatrix中,然后阅读以下内容: 使用zxing进行QR码编码和解码 完

  • 但它抱怨说: 如何同时解决这两个错误?

  • 问题内容: 在日食中显示错误。这是总和是122字节范围内的范围。所以为什么我在这里出现此错误。 提前致谢… 问题答案: 当您对字节执行数学运算时,Java会对字节进行扩展(自动类型提升)到字节(隐式转换)以对这种情况进行整数处理。所以当你表演 由于t1 + t2的结果比字节宽,因此您需要将其下转换为字节。 消除编译错误。 有关更多信息,请阅读 JLS 5.1.2

  • 问题内容: 以下代码抛出编译时异常 类型不匹配:无法从整数转换为K 我了解的是应该处理任何扩展的价值。 (注意:这只是一个测试代码,用于提出我的问题,而没有提供与我的实际情况无关的详细信息。) 问题答案: 这里的问题是这样的事实:它是一个可扩展的类型,但它是该类型的一个 未知 子类,这就是为什么编译器会引发此错误,因为它只是该子类的一个特定子类,因此它无法与任何潜在的目标类型匹配,因此会引发此错误

  • 我创建了一个AsyncTaskLoader: 在我的活动课上,我有这样的内容: