import java.util.Scanner;
public class Grammar
{
    public static void main(String[] args)
    {
        // Ask the user to enter a sentence that uses the word 2 instead of to.
        String theText= "";
        System.out.println("Enter a sentence that uses the word 2 instead of to");
        Scanner input = new Scanner(System.in);
        theText = input.nextLine();
        // Call the method useProperGrammar to process the string according to 
        // the directions.
        System.out.println(useProperGrammar(theText));
        
    }
    
public static String useProperGrammar(String theText)
    {
        String newString="";
        int count = 0;
        for(int i = 0; i < theText.length(); i++)
        {
        count++;
             if (theText.contains("2"))
            {
            String character = theText.substring(i, i+1);
            newString= theText.replace("2","to");
            System.out.println("Fixed "+ count +" grammatical errors:");
            return newString;
            }
            else
            {
                System.out.println("Fixed 0 grammatical errors");
                return theText;
            }
        }
        
        return newString;
       
    }

}

मूल रूप से, मैं एक उपयोगकर्ता द्वारा '2' में प्रवेश करने की संख्या को गिनने की कोशिश कर रहा हूं और इसे 'से' से बदल दिया गया है, लेकिन यह हमेशा 'निश्चित 1 व्याकरणिक त्रुटि' या ('निश्चित 0 व्याकरण संबंधी त्रुटियां' आउटपुट करता है यदि कोई '2' नहीं है। दर्ज किया गया) चाहे मैं कितने भी 2 दर्ज करूं।

0
Minnie Do 3 जिंदा 2021, 21:47

3 जवाब

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

आपको लंबाई की गणना निम्न की तरह करने की आवश्यकता है

int count = theText.length() - theText.replaceAll("2","").length();

प्रतिस्थापन विधि उस स्ट्रिंग ऑब्जेक्ट पर प्रतिस्थापन की संख्या लौटाती है जिस पर इस विधि को कहा जाता है

पूरी विधि

public static String useProperGrammar(String theText)
    {
        String newString="";
        for(int i = 0; i < theText.length(); i++)
        {
       
             if (theText.contains("2"))
            {
            int count = theText.length() - theText.replaceAll("2","").length();
            String character = theText.substring(i, i+1);
            newString= theText.replace("2","to");
            System.out.println("Fixed "+ count +" grammatical errors:");
            
            return newString;
            }
            else
            {
                System.out.println("Fixed 0 grammatical errors");
                return theText;
            }
        }
        
        return newString;
       
    }
0
nobalG 3 जिंदा 2021, 22:06
import java.util.Scanner;
public class Grammar {
    public static void main(String[] args){
        // Ask the user to enter a sentence that uses the word 2 instead of to.
        String theText= "";
        System.out.println("Enter a sentence that uses the word 2 instead of to");
        Scanner input = new Scanner(System.in);
        theText = input.nextLine();
        // Call the method useProperGrammar to process the string according to 
        // the directions.
        System.out.println(useProperGrammar(theText));     
    }
    
    public static String useProperGrammar(String theText){
        String newString="";
        int count = 0;
        for(int i = 0; i < theText.length(); i++){
             while (theText.contains("2")){
            count = theText.length() - theText.replaceAll("2","").length();
            String character = theText.substring(i, i+1);
            newString= theText.replace("2","to");
            System.out.println("Fixed "+ count +" grammatical errors:");
            return newString;
            }
        
                System.out.println("Fixed 0 grammatical errors");
                return theText;    
        }
        
        return newString;
       
    }

}

पिछले उत्तर में पहले ही रिपोर्ट की गई त्रुटि के अलावा, आपका कोड संकलित नहीं हो सका, क्योंकि आपने else बिना if के लिखा था।

1
Chiara Tumminelli 3 जिंदा 2021, 22:13

आप बस charAt फ़ंक्शन का उपयोग कर सकते हैं और हर बार '2' लौटाने पर गिनती बढ़ा सकते हैं, यह कुछ इस तरह होना चाहिए:

int count = 0;
String text = "your text 222";
for(int i = 0; i <= text.length(); i++){
    if(text.charAt(i) == 2){
    count++;
    }
}
0
Hasan Elhussein 3 जिंदा 2021, 22:08