SnIPPETsX

SnIPPETsX › public class Main

public class Main

Java · updated Oct 14, 2026 · 76 lines

Main.java

import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Scanner;

import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        int ptr = 0;
        int[] tape = new int[256];
        Scanner scanner = new Scanner(System.in);
        String code = Files.readString(Path.of("Main.bf"));
        for (int pc = 0; pc <= code.length() - 1; pc++) {
            for (int i = 0; i <= 255; i++) {
                if (tape[i] > 255) {
                    tape[i] = 0;
                }
            }
            char c = code.charAt(pc);
            switch(c) {
                case '>':
                    ptr++;
                break;
                case '<':
                    ptr--;
                break;
                case '+':
                    tape[ptr]++;
                break;
                case '-':
                    tape[ptr]--;
                break;
                case ',':
                    String input = scanner.nextLine();
                    tape[ptr] = input.charAt(0);
                break;
                case '.':
                    System.out.print(String.valueOf((char) tape[ptr]));
                break;
                case '[':
                    if (tape[ptr] == 0) {
                        int dep = 1;
                        while (dep > 0) {
                            pc++;
                            char cc = code.charAt(pc);
                            if (cc == '[') {
                                dep++;
                            } else if (cc == ']') {
                                dep--;
                            }
                        }
                    }
                break;
                case ']':  
                    if (tape[ptr] != 0) {
                        int dep = 1;
                        while (dep > 0) {
                            pc--;
                            char cc = code.charAt(pc);
                            if (cc == '[') {
                                dep--;
                            } else if (cc == ']') {
                                dep++;
                            }
                        }
                    }
                break;
            }
        }
    scanner.close();
    }
}

Main.bf

,...,,><><><>

file-3.txt

Main.txt

Run this Java snippet

Open this snippet on SnIPPETsX to run the Java code in your browser, edit it together with others in real time, or fork it into your own copy. No install or account is needed.