Wypowiedzi
-
Dziękuję bardzo wszystkim za pomoc.
Założyłem, że składnia update musi zawierać where i się zaciąłem. Teraz jestem trochę mądrzejszy :) -
Z bazami danych dopiero się zapoznaję. Jestem świadomy tego, że struktura mogłaby być "troszkę" lepsza. Niemniej jest to jedno z zadań ćwiczeniowych, na którym niestety poległem (czytaj: struktura bazy jak i polecenie do wykonania "narzucone odgórnie"). Innymi słowy na razie jestem na etapie nauki chodzenia (lub jak kto woli raczkowania :P). Na naukę biegania (i ewentualnej gimnastyki korekcyjnej :P) przyjdzie jeszcze czas. :)
Wojciech G.:
Próbowałem tego niestety baza odmówiła współpracy wypluwając błąd:
update Plyty set cena=9.99 where data_premiery=(select min(data_premiery) FROM Plyty);
#1093 - You can't specify target table 'Plyty' for update in FROM clause
Robert B.:
poszedłem za radą i powstało takie oto coś:
Zupełnie nie rozumiem po co wykonywać podzapytanie. Wystarczy "ORDER" i "LIMIT 1" i dzięki tak "magicznej konstrukcji" uda nam się zaktualizować rekord z najstarszą wartością. Na pewno będzie to o wiele szybsze niż podzapytanie z dodatkowo obciążającym "min".
update Plyty set cena=9.99 where data_premiery=(select data_premiery order by data_premiery limit 1) limit 1;
co prawda zmienia cenę jednej pozycji (na razie zmieniało wszystkie) niemniej zamiast najstarszej zmienia pierwszą w bazie. -
Moja wina... w jednym z wcześniejszych zadań była zmiana pola z premiera na data premiery.
Poprawna wersja bazy wygląda następująco:
create table Plyty
(
id int not null,
tytul varchar(25) not null,
rezyser varchar(25) not null,
cena float(4,2) null,
ilosc int not null,
data_premiery date null,
gatunek varchar(20) null
);
rozdzielając polecenie do wykonania na dwa człony wszystko działa poprawnie (zmiana ceny po ręcznym podaniu kryteriów oraz wybranie najstarszej pozycji). Niestety po połączeniu w całość powstaje problem. Wszystko co przyszło mi do głowy albo nie działało wcale albo zmieniało cenę we wszystkich rekordach zamiast tylko w najstarszym. -
Witam serdecznie.
Posiadam następująco utworzoną bazę danych:
create table Plyty
(
id int not null,
tytul varchar(25) not null,
rezyser varchar(25) not null,
cena float(4,2) null,
ilosc int not null,
premiera date null,
gatunek varchar(20) null
);
Do bazy wprowadzonych zostało kilka rekordów. Zadaniem było zmienić cenę najstarszej pozycji. Wymyśliłem takie oto coś, co według mnie powinno działać prawidłowo:
update Plyty set cena=9.99 where data_premiery=(select min(data_premiery));
niestety zamiast zmienić cenę najstarszej pozycji modyfikowana jest cena wszystkich. Jak można sobie z tym fantem poradzić? -
Dziękuję wszystkim za odpowiedzi :)
-
Witam serdecznie.
Niedawno zostałem poproszony o stworzenie prostej (chociaż to kwestia względna) aplikacji na androida wykorzystującej SQlite. Zasadniczo są z tym 2 problemy. Co prawda w javie dłubię ale ani o androidzie ani o sqlite pojęcia nie mam. Zabrałem się więc do przeglądania internetu w poszukiwaniu niezbędnej wiedzy. Ogólnie co znalazłem to podstawy wymagające znajomości podstaw...
Gdzie mogę szukać informacji wyjaśniających zagadnienie od samego początku? Ew. czy są jakieś książki godne polecenia wprowadzające w to zagadnienie?
Z góry dziękuję za wszelakie informacje :) -
Witam serdecznie.
Mam pewnego rodzaju kłopot z zainstalowaniem wtyczki javy ME do netbeansa. Pliki pobierane są automatycznie poprzez netbeansa(podobnie jak instalacja jest automatyczna bez możliwości jakiejkolwiek ingerencji w nazwę / lokację), instalacja i aktywacja wydaje się, że przebiegają pomyślnie. Niemniej nie są wyszczególnione w "java platform manager". Przy Tworzeniu nowego projektu Javy ME wyskakuje komunikat o braku zainstalowanej kompatybilnej platformy.
Czy ktoś ma pojęcie jak z tym fantem sobie poradzić? -
Wlodzimierz M.:
Ew. prowadzący zakłada, ze ktoś, kto pomyli Zint z Zintl
Muszę za pomoc podziękować:) Przeoczyłem to. Teraz już wiem co to za magia :D.
Takie zadania można porozwiązywać sobie na 2 semestrze informatyki na WSInfIU (byłe WSInf) w Bydgoszczy (oczywiście w wersji papierowej). -
Dziękuję bardzo za odpowiedź. Właśnie tego potrzebowałem. :)
-
Witam serdecznie.
Właśnie zbliża się mi termin sesji egzaminacyjnej i jestem w trakcie rozwiązywania przykładowych zadań. Niestety natrafiłem na parę przykładów, które przekraczają moje umiejętności i niestety nie jestem w stanie dojść z nimi do ładu. Poniżej one(formatowanie "oryginalne"):
A_10
SortedMap<String,Integer> x = new TreeMap<String,Integer>();
x.put("Kot", 2); x.put("Pies", 2); x.put("Ptak", 1);
if(x.containsKey("Pies”)){x.put("Pies", x.get("Pies")+3);}
System.out.println(x.subMap("ALIGATOR","ZABA"));
--------------------------------------------------------------
A_11
class inter{
public interface Inter{
int Zint=120;
public void wyswietl(String kom);
}
public interface Inter1 extends Inter{
int Zint1=50;
public void wyswietl1(String kom);
}
static class klasa1 implements Inter1{
String kom="";
public klasa1(String kom){
this.kom=kom;}
public void wyswietl1(String kom){this.kom+=kom;}
public void wyswietl(String kom){this.kom+=kom;}
public String toString(){return "POCZĄTEK = "+this.kom;}
}
static class klasa2 implements Inter1{String kom=""; public klasa2(String kom){this.kom=kom;}
public void wyswietl1(String kom){this.kom+=kom;}
public void wyswietl(String kom){this.kom+=kom;}
public String toString(){if(Zint==120)return " KONIEC ="+this.kom;else return"";}
}
public static void main(String args[]){
Inter1 ob; klasa1 obkl1=new klasa1("A");klasa2 obkl2=new klasa2("B");
ob=obkl2; ob.wyswietl1("C");ob.wyswietl1("D");
ob=obkl1;ob.wyswietl("E");ob.wyswietl1("F");
System.out.println(obkl1+" "+obkl2);
}
}
nie chodzi mi tutaj o wynik ale o informację dla czego jest taki a nie inny. Z góry dziękuję za jakiekolwiek wskazówki :) -
Prosiłbym o podanie miejsca pracy :)
-
Witam serdecznie,
Chciałbym zabrać się za naukę języka niemieckiego. Jest kilka szkół języków obcych. Które są polecane a które odradzane?
Z góry dziękuję za opinie. :) -
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA
-
Aby mieć możliwość przeczytania tego posta musisz być członkiem grupy Excel VBA
-
Dziękuję bardzo za odpowiedzi.:)
-
Witam serdecznie.
Mam zadanie wykonania programu do obliczania czasu sortowania (różnymi metodami). Mam do posortowania kilka typów danych: losowe, częściowo posortowanie, posortowane malejąco i posortowane rosnąco (jest to ten sam zbiór liczb, tylko odpowiednio poformatowany). Sortowanie ma być wykonane rosnąco, więc wg mnie czasy powinny układać się(od najmniejszego): posortowane rosnąco (tylko porównanie, bez przestawień)-> posortowane częściowo ( około 50% już posortowanych) -> losowo (głównie przestawienia + trochę porównań) ->posortowane malejąco (100% przestawień). Przy zbiorze testowym (testuję zakres 10k-20k elementów) wyniki pokazują taki układ: posortowane rosnąco-> posortowane malejąco-> częściowo posortowane-> losowe. Gdzie leży problem?
poniżej kod programu:
package javaapplication7;
import java.util.*;
class Sortowanie
{
private int ilosc;
final private int MAX;
final private String[] NAZWY={"Babelkowe","Przez zliczanie","Przez wstawianie",
"Quick sort","Przez wybieranie","przez wstrząsanie",
"Przez scalanie"};
final private String[] TYP={"losowo: ","czesciowo: ","rosnaco: ","malejaco: "};
private int[][] liczby;
private long[][] czas;
public Sortowanie()
{
Scanner pobierz=new Scanner(System.in);
System.out.print("podaj ilosc elementow do sortowania: ");
ilosc=pobierz.nextInt();
liczby=new int[TYP.length][ilosc];
czas=new long[NAZWY.length][TYP.length]; //0-losowo,1-czesciowo,2-rosnaco,3-malejaco
MAX=10000;
losowanie();
babelki();
zliczanie();
//odpalenie sortowania przez wstawianie
//odpalenie sortowania quick sort
//odpalenie sortowania przez wybieranie
//odpalenie sortowania przez wstrzasanie
//odpalenie sortowania przez scalanie
wypisz_dane();
}
void losowanie()
{
int i,j,bufor,maks=0;
Random losuj=new Random();
//--------------------losowo--------------------
for(i=0;i<ilosc;i++)
liczby[0][i]=losuj.nextInt(MAX)+1;
//--------------------czesciowo--------------------
System.arraycopy(liczby[0], 0, liczby[1], 0, liczby[0].length);
for(i=0;i<liczby[1].length-1;i++)
{
for(j=0;j<liczby[1].length-i-1;j++)
if(liczby[1][j]>liczby[1][j+1])
{
bufor=liczby[1][j];
liczby[1][j]=liczby[1][j+1];
liczby[1][j+1]=bufor;
}
i++;
}
//--------------------rosnaco/malejaco--------------------
System.arraycopy(liczby[0], 0, liczby[2], 0, liczby[0].length);
for(i=0;i<liczby[2].length;i++)
if(liczby[2][i]>maks) maks=liczby[2][i];
int[] tab=new int[maks+1];
j=0;
for(i=0;i<tab.length;i++)
tab[i]=0;
for(i=0;i<liczby[2].length;i++)
tab[liczby[2][i]]++;
for(i=0;i<tab.length;i++)
if(tab[i]>0)
for(int k=0;k<tab[i];k++)
{
liczby[2][j]=i;
liczby[3][liczby[3].length-j-1]=i; //malejaca
j++;
}
}
void wypisz_dane()
{
for(int i=0;i<2;i++) //NAZWY.length
{
System.out.println(NAZWY[i]);
for(int j=0;j<TYP.length;j++)
System.out.println(TYP[j]+czas[i][j]);
System.out.println();
}
}
void babelki()
{
int[] tab=new int[ilosc];
int i,j,bufor;
long start,stop;
for(int n=0;n<liczby.length;n++)
{
System.arraycopy(liczby[n], 0, tab, 0, liczby[n].length);
start=System.currentTimeMillis();
for(i=0;i<tab.length-1;i++)
for(j=0;j<tab.length-i-1;j++)
if(tab[j]>tab[j+1])
{
bufor=tab[j];
tab[j]=tab[j+1];
tab[j+1]=bufor;
}
stop=System.currentTimeMillis();
czas[0][n]=stop-start;
}
}
void zliczanie()
{
int maks,i;
long start,stop;
for(int n=0;n<liczby.length;n++)
{
start=System.currentTimeMillis();
maks=0;
for(i=0;i<liczby[n].length;i++)
if(liczby[n][i]>maks)
maks=liczby[n][i];
int[] tab=new int[maks+1];
for(i=0;i<tab.length;i++)
tab[i]=0;
for(i=0;i<liczby[n].length;i++)
tab[liczby[n][i]]++;
stop=System.currentTimeMillis();
czas[1][0]=stop-start;
}
}
void wstawianie()
{
int[] tab=new int[ilosc];
int bufor;
}
}
public class JavaApplication7
{
public static void main(String[] args)
{
Sortowanie sort=new Sortowanie();
}
}
z góry dziękuję za pomoc :)Marcin Barańczak edytował(a) ten post dnia 24.05.12 o godzinie 20:57 -
Paweł Włodarski:
Dopytaj się prowadzącego o co tutaj naprawdę chodzi.
To biędzie najlepsze wyjście z sytuacji :)
Paweł Włodarski:
Ps. i Błagam, nigdy nie nazywaj zmiennych typu Set - "lista" :D
Wezmę sobie to do serca :) -
Dziękuję za informację. :)
Treść zadania brzmiała: " podany ciąg znaków [jeden dwa trzy cztery pięć sześć pięć pięć] umieść w kontenerze HashSet. Za pomocą Iteratora usuń przedostatni element".
Z tego co wyczytałem o kontenerze HashSet to wypisuje on elementy bez powtórzeń w sposób "losowy" (a raczej bez gwarancji zachowania poprawnej kolejności). Z jednej strony faktycznie usuwanie przedostatniego elementu jest dość bezsensowne, z drugiej strony jednak przedostatni element jest najtrudniejszy do usunięcia (wg mnie przynajmniej). Z informacji do których się dokopałem iterator przemieszcza się tylko w jedną stronę. Iterator należy najpierw ustawić na odpowiedni element. Ustawienie na zadany element bądź ostatni można zrobić za jednym obiegiem pętli (wstawienie licznika w przypadku dowolnego elementu, bądź gdy polecenie hasNext() zwróci fałsz w przypadku ostatniego). W przypadku przedostatniego trzeba się trochę bardziej napracować i zapewne o to chodziło.
Dziękuję za informację. :)