2014-12-30 4 views
0

У меня есть 4 месяца опыта программирования и около 4 дней java (предупреждение noob). Это пример линкора из книги Headfirst Java. Оба файла скомпилированы, но я продолжаю работать с вышеупомянутой ошибкой, и я попытался запустить программу с помощью команды -cp, как показано ниже: java -cp Abraxas/java/battleship_1/SimpleDotComTestDrive (Вот где файл класса с основным методом сохраняются - правильный синтаксис) ниже весь мой код:java "Не удалось найти или загрузить основной класс SimpleDotComTestDrive" Ошибка

import java.util.Scanner; 
public class SimpleDotComTestDrive 
{ 
public static void main (String[] args) { 
    SimpleDotCom dot = new SimpleDotCom(); 
    int[] locations = {1, 2, 3}; //location of the ship in the array 
    dot.setLocationCells(locations); 
    String s; 
    Scanner in = new Scanner(System.in); 

    while (dot.numOfHits < 3) 
{ 
     in = new Scanner(System.in); 
     System.out.println("enter a coordinate "); 
     s = in.nextLine(); 
     dot.checkYourself(s); 
     System.out.println("The enemy ship can still take " + dot.hit_pt + " hits!"); 
} 
    System.out.println("you have successfully sunk the enemy ship!"); 
    System.out.println("You fired " + dot.shots + " shots"); 
} 
} 

public class SimpleDotCom 
{ 
int[] locationCells; 
int numOfHits = 0; 
int shots = 0; 
int hit_pt = 3; 

public void setLocationCells(int[] locs) 
{ 
    locationCells = locs; 
} 
public String checkYourself(String stringGuess) 
{ 
    shots++; 
    int guess = Integer.parseInt(stringGuess); 
    String result = "miss"; 
    for (int cell : locationCells) 
{ 
     if (guess == cell) 
{ 
      result = "hit"; 
      hit_pt = hit_pt - 1; 
      numOfHits++; 
      break; 
} 
} 

    if (numOfHits == locationCells.length) 
{ 
     result = "kill"; 
} 
    System.out.println(result); 
    return result; 
} 
} 

я больше всего ценю, если, если вы, ребята, могли бы помочь этому бедному codito из: 3

+0

У этого есть декларация пакета? –

+0

Имя файла .java ...? – boctulus

+0

Прошу прощения, я не знаю, что такое декларация пакета. Будет ли ссылка на обманутое объяснение этому? Также я был бы признателен, если бы вы могли объяснить причину, почему вы спросите об этом? благодаря! также имя java-файлов SimpleDotComeTestDrive.java и SimpleDotCom.java спасибо за сообщение –

ответ

0

Вашего -cp аргумент должен определить каталог, содержащий? ваш файл .class, а не ваш файл .java. Для вашего здравомыслия я настоятельно рекомендую вам, даже на этом раннем этапе этого процесса, научиться использовать ant, Maven, Gradle или какой-либо другой инструмент структурированной сборки, а не просто вводить вещи в командной строке.

+0

Правда, но ОП сказал: «Здесь хранится файл класса». Так что предположительно, это не то, что происходит не так. –

+0

Я интерпретировал это как исходный файл. Я готов ошибаться. – bmargulies

+0

Да, я полагаю, они могли означать «исходный файл». Для начинающего всегда можно сказать одно, а другое - другое. Я делаю это сам по крайней мере три раза в день. –

Смежные вопросы