Pagini recente » Cod sursa (job #1813217) | Cod sursa (job #1916555) | Cod sursa (job #2607125) | Cod sursa (job #571913) | Cod sursa (job #2532635)
import java.util.ArrayList; // import the ArrayList class
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
public class Main {
public static void main(String[] args) {
ArrayList<Character> a, b, c;
a = new ArrayList<Character>(50);
b = new ArrayList<Character>(50);
c = new ArrayList<Character>(50);
try {
// File inputFile = new File("adunare.in");
FileReader inputReader = new FileReader("adunare.in");
BufferedReader bufferedReader = new BufferedReader(inputReader);
int currentChar;
while((currentChar = bufferedReader.read())!= '\n')
{
a.add((char)currentChar);
}
while((currentChar = bufferedReader.read())!= '\n')
{
b.add((char)currentChar);
}
c = b;
} catch (Exception e) {
System.out.println("File not found: ");
}
if(b.size() > a.size()) {
b = a;
a = c;
}
c = new ArrayList<Character>(50);
int dif = a.size()-b.size();
System.out.println("a has size: " + a.size());
for(int i = 0; i < a.size(); i++) {
System.out.print(a.get(i));
}
System.out.println("\nb has size: " + b.size());
for(int i = 0; i < b.size(); i++) {
System.out.print(b.get(i));
}
int iterator;
int extra = 0;
System.out.println("\nSum: " + a.toString());
int j = 0;
for(iterator = a.size()-1; iterator >= 0; iterator--) {
Character bla = (Character)a.get(iterator);
char v1 = bla.charValue();
v1 -= '0';
char v2 = 0;
if(iterator-dif >= 0) {
v2 = ((Character)b.get(iterator-dif)).charValue();
v2 -= '0';
}
int sum = v1 + v2 + extra;
int mod = sum % 10;
extra = sum / 10;
// System.out.print(": " + v1 + " " + v2 + " " +mod);
if(c.size() == j) {
c.add((char)(mod+'0'));
j++;
}
else
c.set(j++, (char)(mod+'0'));
// System.out.print(mod);
}
if(extra != 0) {
// System.out.print(extra);
if(c.size() == j)
c.add((char)(extra+'0'));
else
c.set(j++, (char)(extra+'0'));
}
System.out.println(c.toString());
BufferedWriter output = null;
try {
File file2 = new File("adunare.out");
output = new BufferedWriter(new FileWriter(file2));
for(int i = c.size(); i > 0;)
output.write(c.get(--i));
output.close();
} catch ( Exception e ) {
e.printStackTrace();
}
}
// read a
// read b
}