Java启动错误选择不包含主类型

我是Java和Eclipse的新手。 我google了很多帮助,但仍然困惑。 从Eclipse中单击运行然后选择Java应用程序,我立即收到此错误。 这是我的源代码:

import java.util.Arrays; import java.util.Scanner; public class SliceandDice { void main(String args[]) { System.out.println("This is the BIGGEST program console"); System.out.println("Each input line will be a pair of numbers separated by a COMMA."); System.out.println("First number must be an unsigned number less than 10000. Max example: 9999"); System.out.println("Second number is the 'target' number."); System.out.println("Example of an input line to be typed:"); System.out.println(" 4721 , 75"); for (int i = 1; i < 6; i++) // each time in this loop, we have a new // set. { System.out.println("Type a pair of numbers according to the syntax rules above:"); String iLine; // Declare a variable to hold the name. Scanner in = new Scanner(System.in); iLine = in.nextLine(); // Read one line from the console. in.close(); // Note 2 NumberSet set = ParseRawInput(i, iLine); if (set.IsValid()) { System.out.println("Valid inputs. Card Number to tear apart:" + set.getCardNumber() + "; Target Number: " + set.getTargetNumber()); String cardNumber = set.getCardNumber(); int target = set.getTargetNumber(); AnalyzeNumber(cardNumber, target); // solve for this set of // numbers } else { System.out.println("Invalid set of numbers. Enter in format: nnnn,tttt"); } } } private void AnalyzeNumber(String cn, int t) { int n = cn.length(); int m = n; int sums = 4 + 3 + 2 + 1; int[] possibleAnswers = new int[sums]; int answer = 0; for (int digits = 1; digits  which digit position gets multilength adjustment int n = cn.length(); int[] number = new int[n]; // holds individual addends int sum = 0; int LEN = 1; // default length when we need it String addends = ""; int i; if (extender == 0) { i = 0; while (i  n) lengthDigits = 1; } System.out.println(addends + " = " + String.valueOf(sum)); return sum; } if (extender == 1) { i = 0; while (i  n) LEN = 1; } System.out.println(addends + " = " + String.valueOf(sum)); return sum; } if (extender == 2) { i = 0; while (i  n) i = n; // force out of loop } System.out.println(addends + " = " + String.valueOf(sum)); return sum; } return 0; } private int FindBiggestNearTarget(int[] possibles, int target) { int[] sumArray = possibles; Arrays.sort(sumArray); // temporary variable for swapping values int temp; // reverse the array for (int i = 0; i < sumArray.length / 2; ++i) { temp = sumArray[i]; sumArray[i] = sumArray[sumArray.length - i - 1]; sumArray[sumArray.length - i - 1] = temp; } for (int i = 0; i < sumArray.length; i++) { if (sumArray[i]  4) return errorSet; // ensure token is 4 bytes or less // declare token as integer int cardNumber = Integer.parseInt(cardNumberString); // work on 2nd token: String targetNumberString = stringArray[1].trim(); // trim any // whitespace from // token if (targetNumberString.length() > 4) return errorSet; // ensure token is 4 bytes or less int targetNumber = Integer.parseInt(targetNumberString); // convert into // int NumberSet validSet = new NumberSet(i, cardNumberString, targetNumber); return validSet; } } class NumberSet { // Java getter & setter private String CardNumber; private int TargetNumber; private int SetNumber; public int getSetNumber() { return this.SetNumber; } public String getCardNumber() { return this.CardNumber; } public int getTargetNumber() { return this.TargetNumber; } public NumberSet(int sn, String cn, int t) { this.SetNumber = sn; this.CardNumber = cn; this.TargetNumber = t; } public Boolean IsValid() { if (this.SetNumber < 0) return false; return true; } } 

您不能像在C ++中那样定义main方法。

对于Java解释器,main方法必须始终是public和static。 因此,您需要将主方法签名更改为

 public static void main(String args[]) 

试试这个,随时进一步询问。 🙂

创建一个新项目并使构建路径指向现有的源文件夹。 这将解决“选择不包含主类型”错误。

我也遇到过这个问题,可以解决它。 解决方案尚未提及。

在我的情况下,我使用Xtend在Eclipse中工作,我将项目转换为maven。 之后,类路径文件中有一个源 – 排除条目:

  

然后你只需要删除这一行并进行干净的构建。