Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

What could be done to alter this code so that instead of displaying values, it d

ID: 3593332 • Letter: W

Question

What could be done to alter this code so that instead of displaying values, it displayed random characters and would delete a character next to a special character. For instance "d" as a special character to delete, so something like "asdf" would display as "as."

class Link
   {
   public int iData;            
   public double dData;         
   public Link next;            

   public Link(int id, double dd)
      {
      iData = id;
      dData = dd;
      }

   public void displayLink()    
      {
      System.out.print("{" + iData + ", " + dData + "} ");
      }
   }

class LinkList
   {
   private Link first;          


   public LinkList()            
      {
      first = null;             
      }

   public void insertFirst(int id, double dd)
      {                         
      Link newLink = new Link(id, dd);
      newLink.next = first;     
      first = newLink;          
      }

   public Link find(int key)    
      {                         
      Link current = first;            
      while(current.iData != key)      
         {
         if(current.next == null)      
            return null;               
         else                          
            current = current.next;    
         }
      return current;                  
      }

   public Link delete(int key)  
      {                         
      Link current = first;            
      Link previous = first;
      while(current.iData != key)
         {
         if(current.next == null)
            return null;               
         else
            {
            previous = current;        
            current = current.next;
            }
         }                             
      if(current == first)             
         first = first.next;           
      else                             
         previous.next = current.next;
      return current;
      }

   public void displayList()    
      {
      System.out.print("List (first-->last): ");
      Link current = first;     
      while(current != null)    
         {
         current.displayLink();
         current = current.next;
         }
      System.out.println("");
      }

   }

class LinkList2App
   {
   public static void main(String[] args)
      {
      LinkList theList = new LinkList();

      theList.insertFirst(22, 2.99);    
      theList.insertFirst(44, 4.99);
      theList.insertFirst(66, 6.99);
      theList.insertFirst(88, 8.99);

      theList.displayList();            

      Link f = theList.find(44);        
      if( f != null)
         System.out.println("Found link with key " + f.iData);
      else
         System.out.println("Can't find link");

      Link d = theList.delete(66);      
      if( d != null )
         System.out.println("Deleted link with key " + d.iData);
      else
         System.out.println("Can't delete link");

      theList.displayList();            
      }
   }

Explanation / Answer

Hello,

As per I understand, you need a method which accept a special character as an input and based on their index it delets that character and the immediate next to that character. Below function would resolve your issue, kindly let me know if you need any further explanation.

public Link modify(char spChar)   
{
int index = data.indexOf(spChar);
if(index != -1)
data = data.substring(0,index-1) +data.substring(index+2);
else
System.out.println("character is not found in the link");
return this;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote