Day finder program, inputs date, outputs day of the week
Declaring a new DayFinderLaunch inside DayFinder is bad (and wrong): DayFinder must find the day and nothing more (another error here: DayFinderLaunch calls DayFinder that calls DayFinderLaunch that calls DayFinder (and so on...)

compute is the main method of DayFinder, I'd rename it to findDay, getDayOfWeek or similar. You're calling it from a validation method, wrong!

Moreover, this method MUST NOT print to the console the result. A better approch is return the name of the day so the developer can choose how to manage it (Console log? File log? Message Box?)

The date validation should be done inside getDayOfWeek(). If validation fails, an exception should be throw: DayFinder MUST NOT ask for user input again, it's not its job!

...
final String dayOfWeek = getDayOfWeek(2017, 5, 30);

System.out.println("Day: " + dayOfWeek);
...
fileWriter.writeLine("Day: " + dayOfWeek);   
...

public String getDayOfWeek(final int year, final int month, final int day) {
    if (!isDateValid(year, month, day)) {
        throw new InvalidDateException(String.format("Date %d/%d/%d is not valid", year, month, day));
    }

    String dayOfWeek;

    ...

    return dayOfWeek;
}



I don't understand what mArr, cArr, yc, mc etc. are, you should use significative names.
mArr, cArr and mDays could be extracted from methods and declared as constants in DayFinder
dArr could become a Day enum.


Example:

public enum Day {
    SUNDAY("Sunday")
    MONDAY("Monday"),
    ...
    ...
    SATURDAY("Saturday");

    private final String name;

    private Day(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}


so you can retrieve the day name using the following:

String dayOfWeek = Day.values()[index].getName(); // index must be valid of course!


isLeap should be moved in a DateUtils class:

public final class DateUtils {
    public static boolean isLeap(int year) {
        return ((y % 4 == 0) &amp;&amp; (y % 100 != 0)) 
            || ((y % 100 == 0) &amp;&amp; (y % 400 == 0));
    }
}


I didn't check if your algorithm is correct.