Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/**
 * Copyright 2000-2006 DFKI GmbH.
 * All Rights Reserved.  Use is subject to license terms.
 * <p/>
 * This file is part of MARY TTS.
 * <p/>
 * MARY TTS is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, version 3 of the License.
 * <p/>
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 * <p/>
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /**
     * For a string containing a semitones delta as judged by
     * <code>isSemitonesDelta()</code>, return the numerical value, as a
     * double.
     *
     * @return the numeric part of the semitones delta, or 0
     * if the string is not a valid semitones delta.
     */
    public static double getSemitonesDelta(String string) {
        String s = string.trim();
        if (!isSemitonesDelta(s))
            return 0;
        String num = s.substring(0, s.length() - 2);
        double value = 0;
        try {
            value = Double.parseDouble(num);
        } catch (NumberFormatException e) {
            //logger.warn("Unexpected number value `" + num + "'");
        }
        return value;
    }

    /**
     * Tell whether the string contains a positive or negative semitones delta,
     * i.e., a semitones number with an obligatory + or - sign, such as
     * "+3.2st" or "-13.2st".
     */
    public static boolean isSemitonesDelta(String string) {
        String s = string.trim();
        if (s.length() < 4)
            return false;

        return s.substring(s.length() - 2).equals("st") && isNumberDelta(s.substring(0, s.length() - 2));
    }

    /**
     * Tell whether the string contains a positive or negative number
     * delta, i.e., a number with an obligatory + or - sign.
     */
    public static boolean isNumberDelta(String string) {
        String s = string.trim();
        if (s.length() < 2)
            return false;

        return (s.charAt(0) == '+' || s.charAt(0) == '-') && isUnsignedNumber(s.substring(1));
    }

    /**
     * Tell whether the string contains an unsigned number.
     */
    public static boolean isUnsignedNumber(String string) {
        String s = string.trim();
        if (s.length() < 1)
            return false;
        if (s.charAt(0) != '+' && s.charAt(0) != '-') {
            double value = 0;
            try {
                value = Double.parseDouble(s);
            } catch (NumberFormatException e) {
                return false;
            }
            return true;
        }
        return false;
    }
}