2014-10-12 2 views
0

Мне нужно изменить мою программу, чтобы постоянно запрашивать количество минут каждой аренды, пока значение не упадет между 60 и 7 200 включительно. Итак, что я пытаюсь сделать, это поместить подсказки для ввода между циклами for, но каждый раз, когда я это делаю. моя программа говорит, что я не могу найти символ, хотя его глобальный и я использую его в цикле for. Я просто хочу знать, как я могу выполнить цикл mins, после чего я добавлю, и если условие для проверки, если оно между 60 и 7200 и выйти из цикла.java symbol из области вне сферы действия

import java.util.Scanner; 

public class RentalDemo 
{ 
public static void main(String[] args) 
{ 

    Scanner input = new Scanner(System.in); 

    String contractName; 
    int mins; 

    //getting inputs 

    //HERE IS THE PROBLEM, IF I TAKE THE FOR LOOP OUT IT WILL WORK FINE BUT ONLY ONCE. 
    for (int x=0;x<10;x++) 
    { 
    System.out.println("Please enter contractName"); 
    contractName = input.nextLine(); 



    System.out.println("Please enter mins"); 
    mins = input.nextInt(); 
    } 

    //object name 
    Rental mike = new Rental(contractName, mins); 

    //to clear buffer 
    input.nextLine(); 

    //getting inputs 
    System.out.println("Please enter contractName"); 
    contractName = input.nextLine(); 

    System.out.println("Please enter mins"); 
    mins = input.nextInt(); 

    //object name 
    Rental luke = new Rental(contractName,mins); 

    //to clear buffer 
    input.nextLine(); 

    //getting inputs 
    System.out.println("Please enter contractName"); 
    contractName = input.nextLine(); 

    System.out.println("Please enter mins"); 
    mins = input.nextInt(); 

    //object name 
    Rental ihab = new Rental(contractName,mins); 




    //outputs 

    System.out.println("Contract Number: " + mike.getContractNumber()+ " \nHours: "+mike.getHours()+ " Minutes: " +mike.getMins()+ 
    "\nTotal Price: " +mike.getPrice()); 


    System.out.println("\nContract Number: " + luke.getContractNumber()+ " \nHours: "+luke.getHours()+ " Minutes: " +luke.getMins()+ 
    "\nTotal Price: " +luke.getPrice()); 

    System.out.println("\nContract Number: " + ihab.getContractNumber()+ " \nHours: "+ihab.getHours()+ " Minutes: " +ihab.getMins()+ 
    "\nTotal Price: " +ihab.getPrice()); 



    //methods 

    int highest = compare(mike,luke); 
    int highest2 = compare(ihab,mike); 
    int highest3 = compare(luke,ihab); 

    if (highest > highest2 && highest > highest3) 
    { 
     System.out.println("\nContract Number:"+ mike.getContractNumber()+ " is the greater"); 
    } 
    else if (highest2 > highest && highest2 > highest3) 
    { 
     System.out.println("\nContract Number:" +ihab.getContractNumber()+ " is the greater"); 

    } 
    else 
    { 
    System.out.println("\nContract Number:" +luke.getContractNumber()+ " is the greater"); 

    } 




} 



public static int compare(Rental ob1, Rental ob2) 
{ 


    int mins; 
    if ((ob1.getHours() > ob2.getHours()) || ob1.getMins() > ob2.getMins()) 
    { 
     mins = ob1.getHours()*60 + ob1.getMins(); 

     return mins; 

    } 

    else 
    { 
      mins = ob1.getHours()*60 + ob1.getMins(); 
    return mins; 
    } 
} 
} 

ответ

0
for (int x=0;x<10;x++) 
{ 
    System.out.println("Please enter contractName"); 
    contractName = input.nextLine(); 



    System.out.println("Please enter mins"); 
    mins = input.nextInt(); 
    if(mins > 60 && mins < 7200) 
     break; 
} 

Используйте 'разбить', чтобы выйти из цикла. Кроме того, цикл for просто заменяет каждую переменную каждый раз, заставляя хранить только значения на x = 9. Если вы хотите каждое значение для mins и contractName, используйте массивы. Я не понимаю ваш символ из-за ошибки объема, вы можете вставить свой вывод ошибки?

+0

RentalDemo.java:60: ошибка: не найден символ System.out.println ("Номер контракта:" + mike.getContractNumber() + "\ nHours:" + mike.getHours() + "Minutes:" + mike.getMins() + ^ символ: переменный майк местоположение: класс RentalDemo – user3747161

+0

он ставит^под mike.getContractNumber – user3747161

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