I am a new learner of Java language and for the past two years I have been working with C++. I am gonna need something equivalent to cin.ignore() in Java. 
            Asked
            
        
        
            Active
            
        
            Viewed 9,598 times
        
    1
            
            
         
    
    
        Ardent Coder
        
- 3,777
- 9
- 27
- 53
 
    
    
        Saim Mehmood
        
- 783
- 8
- 14
- 
                    1Can you add what it is you need it to do in Java for those not familiar with that method? – Peter Lawrey Nov 16 '14 at 11:16
- 
                    I am working on a Dictionary and there is a check I need to ensure. Well the input gets passed over it every time. No idea why! – Saim Mehmood Nov 16 '14 at 11:34
- 
                    In that case, I suggest you read all the input and debug your program to see why it is reading what it is doing. Trying to hide a problem you don't understand has a habit being a disaster. – Peter Lawrey Nov 16 '14 at 11:38
- 
                    okay thank you Peter! Well I was debugging my program. Its particularly an issue with String input using Scanner class. No idea why it doesn't check "yes" or "no" input? – Saim Mehmood Nov 16 '14 at 11:49
- 
                    Oh! just find out I wasn't using .equals method. :) – Saim Mehmood Nov 16 '14 at 11:52
- 
                    Are you reading "yes" and "no" and using == to compare Strings, because that won't do what you think in Java. You need to use `str.equals("yes")` to find out if two strings have the same contents. – Peter Lawrey Nov 16 '14 at 11:53
- 
                    That's because `String s` is a *reference* in Java. Not the object. When you use `==` to are asking if these are references to the same object, `equals` checks if the contents are equivalent. – Peter Lawrey Nov 16 '14 at 11:54
2 Answers
0
            
            
        Normally in Java you would read the text and remove the bits you don't want. e.g. instead of doing this.
first = std::cin.get();     // get one character
std::cin.ignore(256,' ');   // ignore until space
last = std::cin.get();      // get one character
std::cout << "Your initials are " << first << last << '\n';
you would do
Scanner in = new Scanner(System.in);
String first = in.next(), last = in.next();
System.out.println("Your initials are " + first.charAt(0)+last.charAt(0)+"\n");
 
    
    
        Peter Lawrey
        
- 525,659
- 79
- 751
- 1,130
