Eclipse en Mac vs Windows?

Básicamente, en mi universidad, nos han dado un Finch Robot para trabajar y ayudarnos a desarrollar nuestras habilidades de programación Java. Sin embargo, tengo un pequeño problema. El Uni usa máquinas Windows y yo uso una Mac, y básicamente nos han dado un código preescrito para probar nuestro Finch Robot. Cuando copio y pego el código en la máquina de Windows, Eclipse no me da ningún error, y puedo seguir adelante y probar el Robot, ¡pero cuando intento lo mismo en Mac, obtengo 30 errores! No tengo idea de lo que estoy haciendo mal.

Aquí está el código (he pegado los errores debajo del código):

import java.util.Random;
import javax.swing.JOptionPane;
import edu.cmu.ri.createlab.terk.robot.finch.Finch;

public class DoesMyFinchWork 
   {
//This value is the time for most of the tests in milliseconds, 1000 = 1 second
//Change this value if the tests are too long or short
final private static int testtime = 5000;
//This is the Finch object
private static Finch myf = null;
//This is the starting point of the testing program
public static void main(String args[]) 
{
    String s = "";
    //'myf' is the name of our Finch object
    //This will used throughout the program to control your Finch and report it's status  
    myf = new Finch();
    do
    {
        //Run the menu until quit or cancel is selected
        s = FinchMenu();
        if (s == "Light Test") RunLightTest(s);
        if (s == "Tilt Test") RunTiltTest(s);
        if (s == "Tap Test") RunTapTest(s);
        if (s == "Temperature Test") RunTemperatureTest(s);
        if (s == "Obstacle Test") RunObstacleTest(s);
        if (s == "Acceleration Test") RunAccelerationTest(s);
        if (s == "Left Wheel Test") RunLeftWheelTest(s);
        if (s == "Right Wheel Test") RunRightWheelTest(s);
        if (s == "Buzzer Test") RunBuzzerTest(s);
        if (s == "Nose Test") RunNoseTest(s);
    } while (s != "Quit"); 
    System.out.println("Exiting DoesMyFinchWork...");
    myf.quit();
}
//This creates the Finch menu
private static String FinchMenu()
{
    Object[] possibilities = {"Light Test", "Tilt Test","Tap Test","Temperature Test", "Obstacle Test","Acceleration Test","Left Wheel Test","Right Wheel Test","Buzzer Test","Nose Test","Quit"};
    String s = (String)JOptionPane.showInputDialog(null,"Dr Swift's Splendid Finch Test\n++++++++++++++++++++++++\nChoose a test from:\n\n","Week Zero Laboratory",JOptionPane.PLAIN_MESSAGE, null,possibilities,"Light Test");
    if (s == null || s.length() == 0) s = "Quit";
    return(s);
}
//Run the light sensor test
//Displays the left and then the right sensor output
private static void RunLightTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    long before = System.currentTimeMillis();
    while(System.currentTimeMillis() - before < testtime)
    {
        System.out.println(myf.getLeftLightSensor() + " " + myf.getRightLightSensor());
    }
}
//Run the Tilt Test
//Displays:
//1) Is the beak down?
//2) Is the beak up?
//3) Is the Finch level?
//4) Is the Finch upside down?
//5) Is the Finch's left wing down?
//6) Is the Finch's right wing down?
private static void RunTiltTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    long before = System.currentTimeMillis();
    while(System.currentTimeMillis() - before < testtime)
    {
        System.out.println(myf.isBeakDown() + " " + myf.isBeakUp() + " " + myf.isFinchLevel() + " " + myf.isFinchUpsideDown() + " " + myf.isLeftWingDown() + " " + myf.isRightWingDown());
    }
}
//Run the tap test
//Displays if the Finch has been tapped
private static void RunTapTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    long before = System.currentTimeMillis();
    while(System.currentTimeMillis() - before < testtime)
    {
        System.out.println(myf.isTapped());
    }
}
//Run the temperature test
//Displays the current temperature in degrees Celsius
private static void RunTemperatureTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    long before = System.currentTimeMillis();
    while(System.currentTimeMillis() - before < testtime)
    {
        System.out.println(myf.getTemperature());
    }
}
//Run the obstacle sensor test
//Displays if there is an obstacle left and right of the Finch
private static void RunObstacleTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    long before = System.currentTimeMillis();
    while(System.currentTimeMillis() - before < testtime)
    {
        System.out.println(myf.isObstacleLeftSide() + " " + myf.isObstacleRightSide());
    }
}
//Run the acceleration sensor test
//Displays is the Finch is being shaken, and then the acceleration in the X, Y and Z planes
private static void RunAccelerationTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    long before = System.currentTimeMillis();
    while(System.currentTimeMillis() - before < testtime)
    {
        System.out.println(myf.isShaken()+ " " + myf.getXAcceleration() + " " + myf.getYAcceleration()+ " " + myf.getZAcceleration());
    }
}
//Run the left wheel test
//Move the left wheel forward and backwards
private static void RunLeftWheelTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    myf.setWheelVelocities(255,0,testtime/2);
    myf.setWheelVelocities(-255,0,testtime/2);
}
//Run the right wheel test
//Move the right wheel forward and backwards
private static void RunRightWheelTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    myf.setWheelVelocities(0,255,testtime/2);
    myf.setWheelVelocities(0,-255,testtime/2);
}
//Sound the buzzer for a number of different frequencies
private static void RunBuzzerTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    for(int i=0;i<=5000;i+=10)
    {
        myf.buzz(i,10);
        long before = System.currentTimeMillis();
        while(System.currentTimeMillis() - before < 10)
        {
            //Do nothing...
        }
    }
}
//Flash the Finch's nose red, green and blue
//Then flash it randomly
private static void RunNoseTest(String s)
{
    System.out.println("\n"+"Running: "+s+"\n");
    for(int r=0;r<=255;r+=5)
    {
        myf.setLED(r,0,0,10);
    }
    for(int g=0;g<=255;g+=5)
    {
        myf.setLED(0,g,0,10);
    }
    for(int b=0;b<=255;b+=5)
    {
        myf.setLED(0,0,b,10);
    }
    Random rand = new Random();
    rand.setSeed(System.currentTimeMillis());
    for(int i=0;i<50;++i)
    {
        int r = Math.abs(rand.nextInt() % 255);
        int g = Math.abs(rand.nextInt() % 255);
        int b = Math.abs(rand.nextInt() % 255);
        myf.setLED(r,g,b,5);
    }
}

}

Estos son algunos de los errores (los 30 errores dicen 'Finch no se puede resolver a un tipo'):

Description Resource    Path    Location    Type
Finch cannot be resolved to a type  DoesMyFinchWork.java    /DoesMyFinchWork/src    line 169    Java
Problem          
Finch cannot be resolved to a type  DoesMyFinchWork.java    /DoesMyFinchWork/src    line 165    Java   
Problem
Finch cannot be resolved to a type  DoesMyFinchWork.java    /DoesMyFinchWork/src    line 161    Java  
Problem
Finch cannot be resolved to a type  DoesMyFinchWork.java    /DoesMyFinchWork/src    line 146    Java

¡Muchas gracias por tu ayuda!

Respuesta 1

En eclipse solo encuentre el frasco de Finch, copie y pegue en una carpeta de su proyecto (ojalá tenga una carpeta lib), haga clic con el botón derecho en ese archivo Build Path> Agregar a Build Path

y eso debería resolver el problema.

Respuesta: 2

Parece que la máquina Windows ya tiene alguna configuración hecha para que sepa dónde encontrar esta Finchclase, y su Mac no. Bastante seguro de que Windows vs. Mac es una pista falsa aquí: si fue y encontró otra máquina Windows (sin configurar), no funcionará.

Probablemente necesite descargar una biblioteca que tenga la Finchclase y luego configurar Eclipse sobre dónde encontrarla. El mejor lugar para obtener esta información probablemente sea en las notas de clase / sitio web. Si esos no lo tienen, simplemente pregúntele al profesor.

Respuesta: 3

Soy nuevo en la gramática libre de contexto y hasta ahora solo he aprendido cosas como la derivación izquierda / derecha y G = (V, E, R, S). Pero el problema que estoy tratando de resolver implica el prototipo de Java y no soy muy bueno ...

Construí una aplicación con Angular, SpringBoot y MySQL Database. Utiliza CrudRepository y no lo entiendo (todo funciona bien). ¿Cómo saben los controladores / repositorio qué tabla ...

Entonces tengo un hashmap que almacena cadenas como la clave y las listas como el valor. Necesito crear una nueva lista dentro de mi método, llenar mi nueva lista con la que está almacenada dentro del hashmap. Haciendo esto soy ...

Quería usar una función de cambio en mi aplicación desde una cadena. Cuando hice ese eclipse, dije que tenía que actualizarme a Java 1.7, que estúpidamente lo dejé hacer. Luego me dijo que usara el Android Fix Project para arreglar ...