Java Odev Yardım
-
odev konusunda yardıma ihtiyacım var gerek anlatmakla gerek direk yapmakla karar sizin ama bence anlatmak daha iyi olur odevde şu;
1) Given an array of N elements with each element between 1 and N, write a program
FindDuplicates.java to determine whether there are any duplicates. You do not need to preserve
the contents of the given array, but do not use an extra array.(ingilizce yetersizliğinden burda olusturulacak arrayda limiti benmi gircem cozemedim yani girilecek sayıların limiti ve solede bi bilgi arraylarda sadece limitlileri gorduk )
2) Write a program AboveAverage.java reads in N integers from standard input, and prints out the
fraction of values that are strictly above the average value.3) Write a program Binary.java that prints the binary representation of a decimal number N based on
the following method: Write 1 if N is odd, 0 if N is even. Divide N by 2, throwing away the remainder.
Repeat until N = 0 and read theanswer backwards. Use % to determine whether or not N is even, and
use string concatenation to form the answer in reverse order. -
Bazen diyorum ki keşke hazırlıkta kalsaydım. Sınıfı geçemeseydim.
Daha adam gibi ingilizce bilmeden mühendislik eğitimi alıyorum ya bende -senin gibi- yansın bu dünya.
-
2. soru icin yaptıgım sey bu yalnız 10 tane sayı girilmesini istedim ama nasıl olayı bitircem cozemedim 11. sayıyı girince hata verio while'ın icinde 0dan buyuk dedim -1 girmeyi deniyorum 11. olarak gene hata kod asagıda
Scanner input= new Scanner(System.in);
doz4 tarafından 18/Kas/13 04:44 tarihinde düzenlenmiştir
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
x[say] = input.nextInt();
while(x[say]>=0){
say++;
x[say]=input.nextInt();
}
int result;
System.out.println("ortalama =" +ortalamaAl(x,say));
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say; -
doz4 bunu yazdı
2. soru icin yaptıgım sey bu yalnız 10 tane sayı girilmesini istedim ama nasıl olayı bitircem cozemedim 11. sayıyı girince hata verio while'ın icinde 0dan buyuk dedim -1 girmeyi deniyorum 11. olarak gene hata kod asagıda
Scanner input= new Scanner(System.in);
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
x[say] = input.nextInt();
while(x[say]>=0){
say++;
x[say]=input.nextInt();
}
int result;
System.out.println("ortalama =" +ortalamaAl(x,say));
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say;
hata vermesinin sebebi dizi indexin 10 olarak tanımlı..
do-while kullanmayı dener misin çözebilir büyük ihtimal.. ayrıca 10 tane girilecekse girilen sayının -1 olup olmadığının ne önemi var.döngü şartına say<10 yazarsan 0-9 a kadar yani 10 tane sayıyı alır ondan sonra almaz.. ama say++ ı üste yazdığın için sıkıntı oluyor :) neyse en mantıklısı şöyle görünüyor
// bu kısımı iptal et x[say] = input.nextInt(); do{ x[say]=input.nextInt(); say++; }while(say<10); -
hata nedir yazarmisin
x[say] = input.nextInt();
while(x[say]>=0){
say++;
x[say]=input.nextInt();burda x in say indisine girdigin degeri atiyorsun
dongunun icine giriyorsun say i 1 arttiriyorsun ve tekrar inputtaki degeri say a atiyorsun.
neden iki defa atama yapiyorsun. yani say a ve say in 1 fazlasina ayni degeri atiyorsun
int result u ne icin kullandin tanimli sadece..
Scanner input= new Scanner(System.in);
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
while(x[say]>=0){
x[say]=input.nextInt();
say++;
if(say==10)
break;
}
int result;
System.out.println("ortalama =" +ortalamaAl(x,say));
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say;
}
demirci tarafından 18/Kas/13 09:32 tarihinde düzenlenmiştir -
zeybekustasi bunu yazdı
Bazen diyorum ki keşke hazırlıkta kalsaydım. Sınıfı geçemeseydim.
Daha adam gibi ingilizce bilmeden mühendislik eğitimi alıyorum ya bende -senin gibi- yansın bu dünya.
Hocam kusura bakma da yukarıdaki metini anlayamıyorsan tam olarak o pearson vs baba gibi java kitaplarıyla hiç uğraşmamışsın demektir.Hazırlıkta sana o metni anlamanı sağlayacak şeyler verilmiyor zaten.
-
demirci bunu yazdı
hata nedir yazarmisin
x[say] = input.nextInt();
while(x[say]>=0){
say++;
x[say]=input.nextInt();burda x in say indisine girdigin degeri atiyorsun
dongunun icine giriyorsun say i 1 arttiriyorsun ve tekrar inputtaki degeri say a atiyorsun.
neden iki defa atama yapiyorsun. yani say a ve say in 1 fazlasina ayni degeri atiyorsun
int result u ne icin kullandin tanimli sadece..
Scanner input= new Scanner(System.in);
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
while(x[say]>=0){
x[say]=input.nextInt();
say++;
if(say==10)
break;
}
int result;
System.out.println("ortalama =" +ortalamaAl(x,say));
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say;
}yaptığın sekilde calıstı ortalamayı alabiliyorum bu sekilde tek sıkıntım simdi girilen bu sayılardan ortalamanın uzerinde olanları ekrana yansıtmak
bu konudada yardımcı olursanız sevinirim
unbalanced bunu yazdıdoz4 bunu yazdı2. soru icin yaptıgım sey bu yalnız 10 tane sayı girilmesini istedim ama nasıl olayı bitircem cozemedim 11. sayıyı girince hata verio while'ın icinde 0dan buyuk dedim -1 girmeyi deniyorum 11. olarak gene hata kod asagıda
Scanner input= new Scanner(System.in);
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
x[say] = input.nextInt();
while(x[say]>=0){
say++;
x[say]=input.nextInt();
}
int result;
System.out.println("ortalama =" +ortalamaAl(x,say));
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say;
hata vermesinin sebebi dizi indexin 10 olarak tanımlı..
do-while kullanmayı dener misin çözebilir büyük ihtimal.. ayrıca 10 tane girilecekse girilen sayının -1 olup olmadığının ne önemi var.döngü şartına say
// bu kısımı iptal et x[say] = input.nextInt(); do{ x[say]=input.nextInt(); say++; }while(say<10);do while daha gormediğimiz icin yapamam onu o sekilde yardımın icin tesekkür ederim
doz4 tarafından 18/Kas/13 11:37 tarihinde düzenlenmiştir -
doz4 bunu yazdıdemirci bunu yazdı
hata nedir yazarmisin
x[say] = input.nextInt();
while(x[say]>=0){
say++;
x[say]=input.nextInt();burda x in say indisine girdigin degeri atiyorsun
dongunun icine giriyorsun say i 1 arttiriyorsun ve tekrar inputtaki degeri say a atiyorsun.
neden iki defa atama yapiyorsun. yani say a ve say in 1 fazlasina ayni degeri atiyorsun
int result u ne icin kullandin tanimli sadece..
Scanner input= new Scanner(System.in);
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
while(x[say]>=0){
x[say]=input.nextInt();
say++;
if(say==10)
break;
}
int result;
System.out.println("ortalama =" +ortalamaAl(x,say));
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say;
}yaptığın sekilde calıstı ortalamayı alabiliyorum bu sekilde tek sıkıntım simdi girilen bu sayılardan ortalamanın uzerinde olanları ekrana yansıtmak
bu konudada yardımcı olursanız sevinirim
unbalanced bunu yazdıdoz4 bunu yazdı2. soru icin yaptıgım sey bu yalnız 10 tane sayı girilmesini istedim ama nasıl olayı bitircem cozemedim 11. sayıyı girince hata verio while'ın icinde 0dan buyuk dedim -1 girmeyi deniyorum 11. olarak gene hata kod asagıda
Scanner input= new Scanner(System.in);
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
x[say] = input.nextInt();
while(x[say]>=0){
say++;
x[say]=input.nextInt();
}
int result;
System.out.println("ortalama =" +ortalamaAl(x,say));
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say;
hata vermesinin sebebi dizi indexin 10 olarak tanımlı..
do-while kullanmayı dener misin çözebilir büyük ihtimal.. ayrıca 10 tane girilecekse girilen sayının -1 olup olmadığının ne önemi var.döngü şartına say
// bu kısımı iptal et x[say] = input.nextInt(); do{ x[say]=input.nextInt(); say++; }while(say<10);do while daha gormediğimiz icin yapamam onu o sekilde yardımın icin tesekkür ederim
int result;
Scanner input= new Scanner(System.in);
System.out.println("10 tane sayı giriniz");
int[] x = new int[10];
int say=0;
while(x[say]>=0){
x[say]=input.nextInt();
say++;
if(say==10)
break;
}
System.out.println("ortalama =" +ortalamaAl(x,say));
result=ortalamaAl(x,say);
for(int i=0; i<10; i++){
if(x[i]>result){
System.out.println("ortalamadan buyuk " + x[i]);
}
}
}
public static int ortalamaAl(int[] x,int say){
int toplam=0;
for(int i=0;i<say;i++){
toplam=toplam+x[i];
}
return toplam/say;
}
} -
sanırım çok oluyorum ama bu yaptıgımız 2. soruydu 1. ve 3. soru ilk başta mevcut onlarlada ilgili yardım ederseniz sevinirim
-
yazdıgım kod bu 1. soru icin amac 10 sayı alıp sıralamak ve bu girilen 10 sayıdan aynı olanlar varsa bunları ekrana basmak
Scanner oku = new Scanner(System.in);
System.out.println("Lutfen sayıları giriniz");
int x=0;
int[] say=new int[10];
while(say[x]<0){
say[x]=oku.nextInt();
x++;
if(x==10)
break;
}
for(int i=0; i<10; i++)
if(say[i]==say[0])
System.out.println("aynı olan" +say[i]);
}
}cıktı:
doz4 tarafından 18/Kas/13 19:27 tarihinde düzenlenmiştir
run:
Lutfen sayıları giriniz
aynı olan0
aynı olan0
aynı olan0
aynı olan0
aynı olan0
aynı olan0
aynı olan0
aynı olan0
aynı olan0
aynı olan0
BUILD SUCCESSFUL (total time: 0 seconds) -
whopper bunu yazdızeybekustasi bunu yazdı
Bazen diyorum ki keşke hazırlıkta kalsaydım. Sınıfı geçemeseydim.
Daha adam gibi ingilizce bilmeden mühendislik eğitimi alıyorum ya bende -senin gibi- yansın bu dünya.
Hocam kusura bakma da yukarıdaki metini anlayamıyorsan tam olarak o pearson vs baba gibi java kitaplarıyla hiç uğraşmamışsın demektir.Hazırlıkta sana o metni anlamanı sağlayacak şeyler verilmiyor zaten.
O kadar değil hocam metni anladım.
Ben akademik düzeydeki kitaplardan bahsediyorum mesela oturup bilmediğim bir programlama dilini ingilizce bir kitaptan başlayıp da ilerleyemem gibi geliyor.
zeybekustasi tarafından 18/Kas/13 19:38 tarihinde düzenlenmiştir
