Exercise for ordering pizzas with user input
NumberFormat nf = NumberFormat.getCurrencyInstance();

Don't shorten names just because you can, it makes the code harder to read and maintain.
final double s = 8.0, l = 11.0, f = 14.0;

Perfect example of that. The more descriptive the names are, the better. Length should not be of any concern.

double toppingtotalprice =0;

A double is still a floating point. For money, you always want to use BigDecimal, or an int as the smallest unit your money has (Cents for example).

char ordermore = 'n';

Should mot likely be a boolean.

        //using a do while loop, because condition to stop is at the end.        
        do{

You can use a while here, though.

I'll skip the rest of your code and directly skip to the part that you've been waiting for: That works, but is bad design.
Note that in the following examples I'm still using double for simplicity, you should use something else.
Let's start with the fact that you have a lot of repetition, extract common parts into a function which accepts parameters to parameterize it. For example:
private static final double inputPizza(double pizzaSizePrice, double toppingPricel) {
    System.out.println(&quot;Number of toppings?:&quot;);
    numberoftoppings = keyboard.nextInt();
    toppingtotalprice = (numberoftoppings * toppingPrice);
    System.out.println(&quot;Pizza Quantity:&quot;);
    pizzaquantity = keyboard.nextInt();
    return (pizzaquantity * toppingtotalprice * pizzaSizePrice);
}

That already reduces repetition a lot.
Now, we're going to encapsulate our information in a class of their own:
public class PizzaCosts {
    protected double price;
    protected double toppingPrice;
    
    public PizzaPriceValues(double price, double toppingPrice) {
        super();
        
        this.price = price;
        this.toppingPrice = toppingPrice;
    }
    
    public double getPrice() {
        return price;
    }
    
    public double getToppingPrice() {
        return toppingPrice;
    }
}

And in our main function:
PizzaCosts smallPizzaCosts = new PizzaCosts(8.0d, 1.0d);
PizzaCosts mediumPizzaCosts = new PizzaCosts(11.0d, 1.5d);
PizzaCosts largePizzaCosts = new PizzaCosts(14.0d, 2.d);

That groups the values nicely together and makes it easier to read. Now let's go one step further, we'll put them into a Map to access them dynamically based on user-input:
Map&lt;String, PizzaCosts&gt; pizzaCosts = new HashMap&lt;&gt;();
pizzaCosts.put(&quot;s&quot;, new PizzaCosts(8.0d, 1.0d));
pizzaCosts.put(&quot;m&quot;, new PizzaCosts(11.0d, 1.5d));
pizzaCosts.put(&quot;l&quot;, new PizzaCosts(14.0d, 2.0d));

PizzaCosts selectedPizzaCosts = pizzaCosts.get(keyboard.next());

if (selectedPizzaCosts != null) {
    runningTotal = runningTotal + inputPizza(pizzaCosts);
} else {
    // Invalid selection
}

Now that's a lot nicer, and should be enough to get you started further.