Sei sulla pagina 1di 13

public class RicercaStringa {

private String testo;

public RicercaStringa(String testo) {

this.testo = testo;
}

public boolean find (String t) {


if (t.length()>testo.length()) return false;
if (t.equalsIgnoreCase(testo.substring(0, t.length()))) return true;

RicercaStringa r1 = new RicercaStringa (testo.substring(1));


return r1.find(t);
}

Main:

import java.util.Scanner;

public class Mainric {

public static void main(String[] args) {


Scanner in = new Scanner(System.in);

System.out.println("Inserisci la frase: ");


String t = in.nextLine();

RicercaStringa ricerca1 = new RicercaStringa(t);

System.out.println("Inserisci la parola: ");


String p = in.nextLine();

if (ricerca1.find(p)) {
System.out.println("Si, è presente");

} else {
System.out.println("No, non è preente");
}

}
}
public class SommaRicorsiva {

private int n1, n2;

public SommaRicorsiva(int n1, int n2) {

this.n1 = n1;
this.n2 = n2;
}

public int somma() {


if (n1==0) return n2;
if (n2==0) return n1;

else {
SommaRicorsiva s1 = new SommaRicorsiva(n1+1, n2-1);
int risultato = s1.somma();
return risultato;
}
}

NEL MAIN

public class Mains {

public static void main(String[] args) {

SommaRicorsiva s2 = new SommaRicorsiva (4,13);


System.out.println(s2.somma());
}
}
public class TrovaMassimo {

private int [] numeri;

public TrovaMassimo(int[] numeri) {

this.numeri=numeri;
}

public int getMax() {


if (numeri.length==1) {
int max = numeri[0];
return max;
}

int [] newNumeri = new int [numeri.length-1];


System.arraycopy(numeri, 1, newNumeri, 0, numeri.length-1);
TrovaMassimo nuovo = new TrovaMassimo (newNumeri);
int max = nuovo.getMax();
if (numeri[0]>max)
return numeri[0];
else return max;

NEL MAIN:
import java.util.Scanner;

public class Maintmax {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);


int dim = 5;
int [] a = new int [dim];
System.out.println("Costruire un array di " + dim + "numeri interi");
for (int i =0; i<dim;i++) {
System.out.println("Dammi un numero da inserire nell'array: ");
a[i] = in.nextInt();
}

TrovaMassimo g = new TrovaMassimo(a);


System.out.println("\n Numero max " + g.getMax());

}
}
import java.util.ArrayList;
import java.util.Iterator;

public class iter {

public static void main(String[] args) {

ArrayList<String> auto = new ArrayList<String>();

auto.add("Mercedes");
auto.add("BMW");
auto.add("Audi");
auto.add("Fiat");

System.out.println("Lista originale: " + auto);

Iterator <String> it = auto.iterator();

//per rimuover un elemento

while(it.hasNext()) {
if(it.next().equalsIgnoreCase("Audi")) {
it.remove();
}

}
System.out.println("Nuova lista: " + auto);

}
public class Pila {

private int [] pila;


private int testa;

public Pila() {
pila = new int [5];
testa=-1; //indica che la pila è vuota

//metodo per inserire elemento nella pila

public void push(int valore) {


if (testa==pila.length-1) {
System.out.println("Pila piena");
return;
}

testa++;
pila[testa]=valore; //inseriamo l'elemento alla cima

//metodo per estrarre l'ultimo elemento inserito

public int pop() {


if(testa== -1) {
System.out.println("La pila è vuota!");
return -1;
}

int valore = pila [testa];


testa--;
return valore;
}

}
public class Coda {
private int[] elementi;
private int testa, coda;

public Coda() {
elementi = new int[5];
testa = 0;
coda = -1;
}

public boolean isVuota() {


return (coda < testa);
}

public boolean isPiena() {


return (coda == elementi.length-1);
}

public void inserisci(int elemento) {


if (isPiena()) {
System.out.println("Errore: coda piena!");
return;
}
elementi[++coda] = elemento;
}

public int estrai() {


if (isVuota()) {
System.out.println("Errore: coda vuota!");
return -1;
}
return elementi[testa++];
}
}
import java.util.Arrays;
import java.util.Scanner;

public class Mainord {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);


System.out.println("Inserisci la dimensione del vettore: ");
int N = scanner.nextInt();

int [] v = new int[N];

System.out.println("Inserisci gli elementi del vettore: ");


for (int i=0; i<N; i++) {
v[i]=scanner.nextInt();
}

System.out.println(Arrays.toString(v));

System.out.println("Dopo");
bubbleSort(v);

System.out.println(Arrays.toString(v));

public static void bubbleSort(int [] arr) {


int n = arr.length;
for (int i=0; i<n-1; i++) {
for (int j=0; j<n-i-1; j++) {

if (arr[j]>arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}

}
}
public class BruteForceSearch {
public static int search(String text, String pattern) {
int n = text.length();
int m = pattern.length();

for (int i = 0; i < n - m; i++) {


int j;
for (j = 0; j < m; j++) {
if (text.charAt(i + j) != pattern.charAt(j))
break;
}

if (j == m)
return i;

}
return -1;
}
}

NEL MAIN:

public class MainBrute {

public static void main(String[] args) {


String text = "Questo è un esempio di testo";
String pattern = "esempio";

int result = BruteForceSearch.search(text, pattern);

if (result== -1) {
System.out.println("Nessuna corrispondenza trovata");
}else {
System.out.println("Corrispondenza trovata alla posizione " + result);
}

}
import java.io.FileReader;
import java.io.IOException;

public class LetturaDiFile {


public static void main (String [] args) {

try {
int next;

FileReader reader = new FileReader ("Provat.txt");


do {
next = reader.read();

if (next!= -1) {

char c = (char) next;


System.out.println(c);
}
} while (next!= -1);
reader.close();

}
catch (IOException e) {
System.out.println("ERRORE di I/O");
System.out.println(e);
}
}
}
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
import static java.util.Collections.sort;

public class Esercizio {

public static void main(String[] args) {


FileReader reader = null;
ArrayList <String> list = new ArrayList<>();

try {
Scanner input = new Scanner (new BufferedReader(new
FileReader("/Users/robertoinfantino/IdeaProjects/EsameFinale/src/ESEr3n/input.txt")));

while (input.hasNext())
list.add(input.next());
input.close();

} catch (IOException e) {
System.out.println("Errore di I/O");
System.out.println(e);
}

System.out.println("Nomi non ordinati: " + list);


sort(list);
System.out.println("Nomi in ordine alfabetico: " + list);

}
import java.io.IOException;
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class Esonero {

private ArrayList <String> parole = new ArrayList<>();

public void leggiFile (String percorso) {


try {
FileReader f = new FileReader(percorso);
BufferedReader b = new BufferedReader(f);

Scanner scanner = new Scanner(b);

while (scanner.hasNext()) {
parole.add(scanner.next());
}
scanner.close();
} catch (IOException e) {
System.out.println("ERRORE DI I/O");
System.out.println(e);
}
}

public String[] ordinaParole() {


int n = parole.size();

String[] p = new String[n];

for (int i = 0; i < n; i++) {


p[i] = parole.get(i);
}

for (int i = 0; i < n - 1; i++) {


for (int j = 0; j < n - 1 - i; j++) {

if (p[j].compareTo(p[j + 1]) > 0) {


String temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
return p;
}

public void stampaOriginale () {


System.out.println(parole);

public void stampaOrdine(String[] p) {


System.out.println("Lista ordinata: " + Arrays.toString(p));
}

NEL MAIN:

public class Main {


public static void main (String [] args) {

Esonero esonero= new Esonero();


esonero.leggiFile("input.txt");
String [] p = esonero.ordinaParole();
esonero.stampaOriginale();
esonero.stampaOrdine(p);
}
}
import static java.util.Collections.sort;
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;

public class Tentativo {

public static void main(String[] args) {

ArrayList<Integer> lista = new ArrayList<>();

try {
Scanner in = new Scanner(new BufferedReader(new FileReader("input.txt")));
while(in.hasNext())
lista.add(in.nextInt());
in.close();

}catch (IOException e) {
System.out.println("ERRORE DI I/O");
System.out.println(e);
}

System.out.println("Lista non ordinata" + lista);


sort(lista);
System.out.println("Lista ordinata: " + lista);
}

Potrebbero piacerti anche