मैं समझता हूं कि यह एक सरल उत्तर के साथ एक सरल प्रश्न हो सकता है लेकिन किसी कारण से यह मेरे से परे है। मेरी कक्षा अभी ब्लूजे में काम कर रही है और हम एक ग्राफ पर बिंदुओं की साजिश रच रहे हैं जिसे हम वर्गों के साथ बना रहे हैं, अभी मुझे एक निश्चित स्थिति (x = -1) के रूप में कई इनपुट के लिए निम्नलिखित प्रॉम्प्ट लूप बनाने की आवश्यकता है। उपयोगकर्ता फिट देखता है।

public void plotPoints(Scanner keyboard)
{

            System.out.print("Enter an x and y coordinate: ");


            //Read x from user
            int x = keyboard.nextInt(); 

            //Read y from user
            int y = keyboard.nextInt();

            //Plot the point
            new Circle(x,y);
}

यह अनुशंसा की जाती है कि हम इसके लिए थोड़ी देर के लूप का उपयोग करें।

-2
Ronave4C 7 नवम्बर 2017, 07:39

2 जवाब

सबसे बढ़िया उत्तर

यह कोड काम करता है।

public class PlotPoints {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        PlotPoints pp = new PlotPoints();
        pp.plotPoints(sc);
    }
    public void plotPoints(Scanner keyboard)
    {
        int x=1;
        while (x != -1) {

            System.out.print("Enter an x and y coordinate: ");


            //Read x from user
            x = keyboard.nextInt();

            //Read y from user
            int y = keyboard.nextInt();

            //Plot the point
            new Circle(x, y);
        }
    }
}
0
Sidhant Jain 7 नवम्बर 2017, 08:02

आप नीचे दिए गए ब्रेक की स्थिति के साथ अनंत समय या लूप के लिए उपयोग कर सकते हैं:

public List<Circle> plotPoints(Scanner keyboard){

    List<Circle> arrList = new ArrayList<>();

    while(true){ // for(;;) {

        System.out.println("Enter an x and y coordinate: ");

        System.out.println("Enter value for x: (x=-1 to exit)");
        //Read x from user
        int x = keyboard.nextInt(); 
        System.out.println("x =" + x);

        if(x == -1){
           System.out.println("Good bye!");
           break;
        }

        //Read y from user
        System.out.println("Enter value for y: ");
        int y = keyboard.nextInt();
        System.out.println("y = " + y);
        System.out.println("Plotting point (" + x + "," +  y + ")");

        //Plot the point            
        arrList.add(new Circle(x,y));
     }

     return arrList;

}

उपरोक्त कोड तर्क देता है कि उपयोगकर्ता जितना इनपुट करना चाहता है उतने पैरामीटर प्राप्त करें। माना जाता है कि विधि प्लॉट किए गए बिंदुओं के संग्रह को वापस करने के लिए है, इसलिए सभी प्लॉट किए गए बिंदुओं को इकट्ठा करने के लिए सरणी सूची arrList है। पहले तो मुझे लगा कि आप वृत्त बनाने की कोशिश कर रहे हैं लेकिन यह संभव नहीं है क्योंकि आपको त्रिज्या का मान नहीं मिल रहा है।

0
cdaiga 7 नवम्बर 2017, 08:15