Laborator 4
Exercitiul 1
import java.io.*;
class ExempluIO {
public static void main(String argv[]) {
int n,i,suma,temporar;
try {
BufferedReader in_stream_char = new BufferedReader(new InputStreamReader(System.in));
PrintStream out_stream = new PrintStream(new FileOutputStream("out.txt"));
System.out.print("Dati numarul de intregi:");
n = Integer.parseInt(in_stream_char.readLine());
suma = 0;
for(i = 1; i <= n; i++) {
System.out.print("Dati numarul " + i + ":");
temporar = Integer.parseInt(in_stream_char.readLine());
suma+= temporar;
out_stream.println(temporar);
}
out_stream.println(suma);
System.out.println("Suma este:" + suma);
out_stream.close();
} catch(IOException e) {
System.out.println("Eroare la operatiile de intrare-iesire!");
System.exit(1);
}
}
}
Exercitiul 2
class Main {
public static void main(String[] args){
Boolean b1 = true;
Boolean b2 = true;
Boolean b3 = false;
System.out.println(!(b1^b2));
System.out.prinln(b1==b2);
System.out.prinln(b1.equals(b3));
}
}
Exercitiul 3
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
InputStreamReader inputKeyboard = new InputStreamReader(System.in);
BufferedReader buffKeyboard = new BufferedReader(inputKeyboard);
System.out.print("Dati sirul de caractere: ");
String linie = buffKeyboard.readLine();
System.out.print("Dati denumirea fisierului: ");
String fisier = buffKeyboard.readLine();
FileInputStream bac_in=new FileInputStream(fisier) ;
InputStreamReader inputFile=new InputStreamReader(bac_in);
BufferedReader buffFile=new BufferedReader(inputFile);
int count=0;
String LinieFisier;
while((LinieFisier=buffFile.readLine())!=null){
if(LinieFisier.equals(linie))
count++;
}
System.out.println(count);
}catch (FileNotFoundException e){
System.out.println("Fisierul nu exista");
}catch(IOException e){
System.out.println("Something is wrong!");
}
}
}
Exercitiul 4
import java.io.*;
public class Main {
public static void main(String[] args) {
InputStreamReader inputKeyboard = new InputStreamReader(System.in);
BufferedReader buffKeyboard = new BufferedReader(inputKeyboard);
try {
System.out.print("N=");
int n = Integer.parseInt(buffKeyboard.readLine());
System.out.print("M=");
int m = Integer.parseInt(buffKeyboard.readLine());
System.out.print("P=");
int p = Integer.parseInt(buffKeyboard.readLine());
double[][] a = new double[n][m];
double[][] b = new double[m][p];
double[][] c = new double[n][p];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++) {
System.out.print("a[" + i + "][" + j + "]=");
a[i][j] = Double.parseDouble(buffKeyboard.readLine());
}
for (int i = 0; i < m; i++)
for (int j = 0; j < p; j++) {
System.out.print("b[" + i + "[" + j + "]=");
b[i][j] = Double.parseDouble(buffKeyboard.readLine());
}
for (int i = 0; i < n; i++)
for (int j = 0; j < p; j++) {
c[i][j] = 0.0;
for (int k = 0; k < m; k++)
c[i][j] = c[i][j] + a[i][k] * b[k][j];
}
FileOutputStream outputFile =new FileOutputStream("bac_out");
OutputStreamWriter outputWriter=new OutputStreamWriter(outputFile);
PrintStream outStream=new PrintStream(outputFile);
for (int i = 0; i < n; i++) {
for (int j = 0; j < p; j++) {
System.out.print(String.format("%.2f\t", c[i][j]));
outStream.print(String.format("%.2f\t", c[i][j]));
}
System.out.println("");
outStream.println("");
}
} catch (IOException e) {
System.out.println("Variabilele trebuie sa fie de timp int/double");
}
}
}
Exercitul 5
import java.io.*;
import java.util.ArrayList;
class Pair {
private int l;
private int r;
private int testedNumbers;
private int validNumbers;
public Pair(int l, int r){
this.l = l;
this.r = r;
testedNumbers = 0;
validNumbers = 0;
}
public void test(Double d){
if (d > l && d < r)
validNumbers++;
testedNumbers++;
}
public Double getPercentage(){
return validNumbers/(double)testedNumbers * 100;
}
public int getL(){ return l; }
public int getR(){ return r; }
public void setL(int l){ this.l = l; }
public void setR(int r){ this.r = r; }
}
class Buff {
public static BufferedReader getBuffer(String fileName){
try{
FileInputStream fis = new FileInputStream(fileName);
InputStreamReader streamReader = new InputStreamReader(fis);
BufferedReader buff = new BufferedReader(streamReader);
return buff;
}catch(Exception e){
return null;
}
}
public static BufferedReader getBuffer(InputStream inputStream){
try{
InputStreamReader streamReader = new InputStreamReader(inputStream);
BufferedReader buff = new BufferedReader(streamReader);
return buff;
}catch(Exception e){
return null;
}
}
}
class Main {
public static void main(String[] args){
BufferedReader buff = Buff.getBuffer("intervale.dat");
try{
String line1, line2;
ArrayList<Pair> pairs = new ArrayList<>();
while((line1 = buff.readLine()) != null && (line2 = buff.readLine()) != null){
int l = Integer.parseInt(line1);
int r = Integer.parseInt(line2);
Pair pair = new Pair(l,r);
pairs.add(pair);
}
buff = Buff.getBuffer(System.in);
System.out.print("Dati numarul de fisiere: ");
ArrayList<String> fileNames = new ArrayList<>();
int n = Integer.parseInt(buff.readLine());
for(int i = 0; i < n; i++){
String fileName = buff.readLine();
if (fileNames.contains(fileName)){
System.out.println("Ati introdus deja acest nume de fisier.");
i--;
}else
fileNames.add(fileName);
}
ArrayList<Double> reale = new ArrayList<>();
for(String fileName: fileNames){
buff = Buff.getBuffer(fileName);
String[] doubles = buff.readLine().split(" ");
for(String dbl: doubles)
reale.add(Double.parseDouble(dbl));
}
for(Pair p: pairs){
for(Double dbl: reale)
p.test(dbl);
System.out.println("["+p.getL()+"; "+p.getR()+"] ---> "+String.format("%.2f",p.getPercentage()));
}
}catch(IOException e){
System.out.println("Ops! Something went wrong.");
}
}
}